Hi there, QtCreator v4.9.1, from online installer. x86_64 Ubuntu 18.04 clang-8 from https://apt.llvm.org target: armv7a-custom-linux (g++-5.3.0)
As an experiment, i'm currently cross-compiling our project with clang-8. Since then, the clang-code model is broken. I've noticed these asserts and error messages: "The command \"/usr/bin/clang++-8\" terminated with exit code 1." SOFT ASSERT: "false && "__cplusplus is not predefined, assuming latest C++ we support."" in file /home/qt/work/build/qt-creator/src/plugins/projectexplorer/toolchain.cpp, line 327 Followed by a few of these (that we've always had, so here for the sake of completeness) C++ Indexer: Skipping file "..." because it is too big. And Finally: Parsing /current/source/file/in/editor.cpp failed: CXError_Failure Reparsing /current/source/file/in/editor.cpp failed: 3 And the whole code model is broken (no completion, type hierarchy, file/class outline, symbol lookup, etc...) I'm using cmake, with a custom (but simple) toolchain file. And i can cross build our project (from command line and fromQtC), and run the exe on the target. For QtCreator i had to do one "special" things. Since clang is multi target, the compiler is auto detected as x86_64, so i had to select the "<custom>" ABI, and set it to arm-linux-generic-elf-32bits. I then cloned the original kit (a gcc-5 cross kit), and simply change the compiler settings and the toolchain file. The cmake toolchain file doesn't do anything fancy apart from setting CMAKE_CROSSCOMPILING to true and CMAKE_CXX_COMPILER_TARGET to our gnu triplet. cmake sets clang's -target and --sysroot, which works out of the box. I do not need to do crazy things with include/lib search path. The only trick in there is forcing the linker, since it defaults to /usr/bin/ld, and ld is not clever enough to pick up our cross env, so i ended up adding "-luse-ld=lld-8" which is "sysroot aware" (/usr/bin/lld-8). I can build an hello world with just clang++-8 -target arm-navico-linux-gnueabi -march=armv7-a --sysroot=$SYSROOT test.cpp Point is: this toolchain is valid and functional. For the sake of completeness i have (and had for a while) these other soft asserts: SOFT ASSERT: "type == "INTERNAL" || type == "UNINITIALIZED"" in file /home/qt/work/build/qt-creator/src/plugins/cmakeprojectmanager/cmakeconfigitem.cpp, line 153 Any idea what is going on? Is it a problem with my setup, is this setup supported by QtCreator? any special log domain i could enable to troubleshoot that? Thanks, Chris _______________________________________________ Qt-creator mailing list [email protected] https://lists.qt-project.org/listinfo/qt-creator
