Details
-
Bug
-
Resolution: Done
-
P3: Somewhat important
-
6.0.0
-
None
-
llvm+clang 11
Windows 10 (x86_64)
cmake 3.19.1
-
-
601a99dcf50a88879c4ada692574dd2ce35fe21a (qt/tqtc-qtbase/6.2.0)
Description
I'm trying to compile qtbase 6.0.0 with cmake and a custom-built clang on Windows.
I get linker errors when building the tools (e.g. uic.exe):
[889/1714] Linking CXX executable bin\uic.exe FAILED: bin/uic.exe cmd.exe /C "cd . && D:\User\Adrian\Programmierung\3rdParty\qtbase_6.0\Clang-Windows\bin\clang++.exe -DNDEBUG -O2 -Xlinker -static -Wl,--gc-sections src/tools/uic/CMakeFiles/uic.dir/uic_autogen/mocs_compilation.cpp.obj src/tools/uic/CMakeFiles/uic.dir/cpp/cppwritedeclaration.cpp.obj src/tools/uic/CMakeFiles/uic.dir/cpp/cppwriteincludes.cpp.obj src/tools/uic/CMakeFiles/uic.dir/cpp/cppwriteinitialization.cpp.obj src/tools/uic/CMakeFiles/uic.dir/customwidgetsinfo.cpp.obj src/tools/uic/CMakeFiles/uic.dir/databaseinfo.cpp.obj src/tools/uic/CMakeFiles/uic.dir/driver.cpp.obj src/tools/uic/CMakeFiles/uic.dir/main.cpp.obj src/tools/uic/CMakeFiles/uic.dir/python/pythonwritedeclaration.cpp.obj src/tools/uic/CMakeFiles/uic.dir/python/pythonwriteimports.cpp.obj src/tools/uic/CMakeFiles/uic.dir/shared/language.cpp.obj src/tools/uic/CMakeFiles/uic.dir/treewalker.cpp.obj src/tools/uic/CMakeFiles/uic.dir/ui4.cpp.obj src/tools/uic/CMakeFiles/uic.dir/uic.cpp.obj src/tools/uic/CMakeFiles/uic.dir/validator.cpp.obj -o bin\uic.exe -Wl,--out-implib,src\tools\uic\libuic.dll.a -Wl,--major-image-version,0,--minor-image-version,0 src/tools/uic/CMakeFiles/uic_rc.dir/./uic_resource.rc.obj lib/libQt6Core.a lib/libQt6Core.a lib/libQt6Core_qobject.a -lmpr -luserenv -ladvapi32 -lkernel32 -lnetapi32 -lole32 -lshell32 -luser32 -luuid -lversion -lwinmm -lws2_32 lib/libQt6BundledPcre2.a src/corelib/CMakeFiles/Core_resources_mimetypes.dir/./.rcc/qrc_mimetypes.cpp.obj -lunwind -lunwind -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 && cd ." lld: error: unknown argument: -static clang++: error: linker command failed with exit code 1 (use -v to see invocation)
Here's my cmake invocation:
cmake -B build -G Ninja ^ -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ ^ -DCMAKE_INSTALL_PREFIX=%~dp0inst ^ -DCMAKE_BUILD_TYPE=Release ^ -DFEATURE_static_runtime=ON ^ -DBUILD_SHARED_LIBS=OFF -DFEATURE_SHARED=OFF -DBUILD_WITH_PCH=OFF ^ -DQT_BUILD_TESTS=OFF -DQT_BUILD_EXAMPLES=OFF
I'm not quite sure if this is a problem with Qt, CMake or lld, but the CMake+llvm toolchain generally works.
Thanks for your help.