最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

How to solve the problem of failure to compile qt6 from source in Windows 11 - Stack Overflow

programmeradmin0浏览0评论

I building qt6(6.8.1) from source in windows 11, this is my cmd:

"C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64 10.0.22621.0 -vcvars_ver=14.29.30133

set INCLUDE=C:\Library\vcpkg\installed\v142-x64-dynamic-md\include;%INCLUDE%
set LIB=C:\Library\vcpkg\installed\v142-x64-dynamic-md\lib;%LIB%
set PATH=C:\Library\vcpkg\installed\v142-x64-dynamic-md\bin;%PATH%
set PATH=c:\DevTool\libclang-riit\release\bin;%PATH%

.\configure.bat -platform win32-msvc -nomake tests -nomake examples -opensource -confirm-license ^
    -prefix output/v142-x64-release-dynamic-md ^
    -release ^
    -shared ^
    -force-debug-info ^
    -separate-debug-info ^
    -c++std c++17 ^
    -skip qtdoc ^
    -skip qtwebengine ^
    -skip qtwebview ^
    -system-zlib ^
    ZLIB_LIBS="zlib.lib" ^
    -system-libpng ^
    LIBPNG_LIBS="libpng16.lib" ^
    -system-libjpeg ^
    LIBJPEG_LIBS="jpeg.lib turbojpeg.lib" ^
    -system-freetype ^
    FREETYPE_LIBS="freetype.lib" ^
    -system-harfbuzz ^
    -system-sqlite ^
    -system-pcre ^
    PCRE2_LIBS="pcre2-8.lib pcre2-16.lib pcre2-32.lib pcre2-posix.lib" ^
    -system-doubleconversion ^
    -system-webp ^
    WEBP_LIBS="libwebpdecoder.lib libwebpdemux.lib libwebpmux.lib libwebp.lib" ^
    -system-tiff ^
    TIFF_LIBS="tiff.lib" ^
    -ssl ^
    -openssl ^
    -openssl-runtime ^
    OPENSSL_LIBS="libssl.lib libcrypto.lib" ^
    -icu ^
    ICU_LIBS="icudt.lib icuin.lib icuio.lib icuuc.lib" ^
    -gif ^
    -ico ^
    -no-vulkan ^
    -no-xcb ^
    -no-egl ^
    -no-libudev ^
    -no-slog2 ^
    -no-dbus ^
    -DCMAKE_CXX_STANDARD=17 ^
    -DCMAKE_C_STANDARD=11
cmake --build . --parallel

However, this failed:

c:\Work\Source\QT\QT_6.8.1>cmake --build build\v142-release-shared-md --target qtbase
[132/1528] Automatic MOC for target QSchannelBackendPlugin
FAILED: qtbase/src/plugins/tls/schannel/QSchannelBackendPlugin_autogen/timestamp qtbase/src/plugins/tls/schannel/QSchannelBackendPlugin_autogen/mocs_compilation.cpp C:/Work/Source/QT/QT_6.8.1/build/v142-release-shared-md/qtbase/src/plugins/tls/schannel/QSchannelBackendPlugin_autogen/timestamp C:/Work/Source/QT/QT_6.8.1/build/v142-release-shared-md/qtbase/src/plugins/tls/schannel/QSchannelBackendPlugin_autogen/mocs_compilation.cpp
C:\WINDOWS\system32\cmd.exe /C "cd /D C:\Work\Source\QT\QT_6.8.1\build\v142-release-shared-md\qtbase\src\plugins\tls\schannel && C:\DevTool\cmake\bin\cmake.exe -E cmake_autogen C:/Work/Source/QT/QT_6.8.1/build/v142-release-shared-md/qtbase/src/plugins/tls/schannel/CMakeFiles/QSchannelBackendPlugin_autogen.dir/AutogenInfo.json RelWithDebInfo && C:\DevTool\cmake\bin\cmake.exe -E touch C:/Work/Source/QT/QT_6.8.1/build/v142-release-shared-md/qtbase/src/plugins/tls/schannel/QSchannelBackendPlugin_autogen/timestamp && C:\DevTool\cmake\bin\cmake.exe -E cmake_transform_depfile Ninja gccdepfile C:/Work/Source/QT/QT_6.8.1 C:/Work/Source/QT/QT_6.8.1/qtbase/src/plugins/tls/schannel C:/Work/Source/QT/QT_6.8.1/build/v142-release-shared-md C:/Work/Source/QT/QT_6.8.1/build/v142-release-shared-md/qtbase/src/plugins/tls/schannel C:/Work/Source/QT/QT_6.8.1/build/v142-release-shared-md/qtbase/src/plugins/tls/schannel/QSchannelBackendPlugin_autogen/deps C:/Work/Source/QT/QT_6.8.1/build/v142-release-shared-md/CMakeFiles/d/0c35499e00e5c581ee7c4eee6475462d3a5c5365e156a5d2aafd13f3ce126fc6.d"

AutoMoc subprocess error
------------------------
The moc process failed to compile
  "SRC:/qtbase/src/plugins/tls/schannel/qtlsbackend_schannel_p.h"
into
  "SRC:/build/v142-release-shared-md/qtbase/src/plugins/tls/schannel/QSchannelBackendPlugin_autogen/EWIEGA46WW/moc_qtlsbackend_schannel_p.cpp"
Process failed with return value 3221225781

Command
-------
C:/Work/Source/QT/QT_6.8.1/build/v142-release-shared-md/qtbase/bin/moc.exe -DCMAKE_CXX_STANDARD=17 -DCMAKE_C_STANDARD=11 -DNOMINMAX -DQSchannelBackendPlugin_EXPORTS -DQT_CORE_LIB -DQT_DEPRECATED_WARNINGS -DQT_EXPLICIT_QFILE_CONSTRUCTION_FROM_PATH -DQT_LEAN_HEADERS=1 -DQT_NETWORK_LIB -DQT_NO_CAST_FROM_ASCII -DQT_NO_DEBUG -DQT_NO_EXCEPTIONS -DQT_NO_FOREACH -DQT_NO_JAVA_STYLE_ITERATORS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_QASCONST -DQT_NO_QEXCHANGE -DQT_NO_QSNPRINTF -DQT_PLUGIN -DQT_USE_QSTRINGBUILDER -DUNICODE -DWIN32 -DWIN64 -D_CRT_SECURE_NO_WARNINGS -D_ENABLE_EXTENDED_ALIGNED_STORAGE -D_UNICODE -D_WIN64 -IC:/Work/Source/QT/QT_6.8.1/qtbase/src/plugins/tls/schannel -IC:/Work/Source/QT/QT_6.8.1/build/v142-release-shared-md/qtbase/src/plugins/tls/schannel -IC:/Work/Source/QT/QT_6.8.1/build/v142-release-shared-md/qtbase/include -IC:/Work/Source/QT/QT_6.8.1/build/v142-release-shared-md/qtbase/src/network -IC:/Work/Source/QT/QT_6.8.1/build/v142-release-shared-md/qtbase/include/QtNetwork/6.8.1 -IC:/Work/Source/QT/QT_6.8.1/build/v142-release-shared-md/qtbase/include/QtNetwork/6.8.1/QtNetwork -IC:/Work/Source/QT/QT_6.8.1/build/v142-release-shared-md/qtbase/src/corelib -IC:/Work/Source/QT/QT_6.8.1/build/v142-release-shared-md/qtbase/include/QtCore/6.8.1 -IC:/Work/Source/QT/QT_6.8.1/build/v142-release-shared-md/qtbase/include/QtCore/6.8.1/QtCore -IC:/Work/Source/QT/QT_6.8.1/build/v142-release-shared-md/qtbase/include/QtCore -IC:/Work/Source/QT/QT_6.8.1/qtbase/mkspecs/win32-msvc -IC:/Work/Source/QT/QT_6.8.1/build/v142-release-shared-md/qtbase/include/QtNetwork --output-json --output-dep-file -o C:/Work/Source/QT/QT_6.8.1/build/v142-release-shared-md/qtbase/src/plugins/tls/schannel/QSchannelBackendPlugin_autogen/EWIEGA46WW/moc_qtlsbackend_schannel_p.cpp C:/Work/Source/QT/QT_6.8.1/qtbase/src/plugins/tls/schannel/qtlsbackend_schannel_p.h

Output
------

enter image description here

I am compiling the release version, why is the debug dynamic library linked?

If remove -force-debug-info -separate-debug-info, can success. Or replace with -debug -shared, also success, but I want to pdb file.

I building qt6(6.8.1) from source in windows 11, this is my cmd:

"C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64 10.0.22621.0 -vcvars_ver=14.29.30133

set INCLUDE=C:\Library\vcpkg\installed\v142-x64-dynamic-md\include;%INCLUDE%
set LIB=C:\Library\vcpkg\installed\v142-x64-dynamic-md\lib;%LIB%
set PATH=C:\Library\vcpkg\installed\v142-x64-dynamic-md\bin;%PATH%
set PATH=c:\DevTool\libclang-riit\release\bin;%PATH%

.\configure.bat -platform win32-msvc -nomake tests -nomake examples -opensource -confirm-license ^
    -prefix output/v142-x64-release-dynamic-md ^
    -release ^
    -shared ^
    -force-debug-info ^
    -separate-debug-info ^
    -c++std c++17 ^
    -skip qtdoc ^
    -skip qtwebengine ^
    -skip qtwebview ^
    -system-zlib ^
    ZLIB_LIBS="zlib.lib" ^
    -system-libpng ^
    LIBPNG_LIBS="libpng16.lib" ^
    -system-libjpeg ^
    LIBJPEG_LIBS="jpeg.lib turbojpeg.lib" ^
    -system-freetype ^
    FREETYPE_LIBS="freetype.lib" ^
    -system-harfbuzz ^
    -system-sqlite ^
    -system-pcre ^
    PCRE2_LIBS="pcre2-8.lib pcre2-16.lib pcre2-32.lib pcre2-posix.lib" ^
    -system-doubleconversion ^
    -system-webp ^
    WEBP_LIBS="libwebpdecoder.lib libwebpdemux.lib libwebpmux.lib libwebp.lib" ^
    -system-tiff ^
    TIFF_LIBS="tiff.lib" ^
    -ssl ^
    -openssl ^
    -openssl-runtime ^
    OPENSSL_LIBS="libssl.lib libcrypto.lib" ^
    -icu ^
    ICU_LIBS="icudt.lib icuin.lib icuio.lib icuuc.lib" ^
    -gif ^
    -ico ^
    -no-vulkan ^
    -no-xcb ^
    -no-egl ^
    -no-libudev ^
    -no-slog2 ^
    -no-dbus ^
    -DCMAKE_CXX_STANDARD=17 ^
    -DCMAKE_C_STANDARD=11
cmake --build . --parallel

However, this failed:

c:\Work\Source\QT\QT_6.8.1>cmake --build build\v142-release-shared-md --target qtbase
[132/1528] Automatic MOC for target QSchannelBackendPlugin
FAILED: qtbase/src/plugins/tls/schannel/QSchannelBackendPlugin_autogen/timestamp qtbase/src/plugins/tls/schannel/QSchannelBackendPlugin_autogen/mocs_compilation.cpp C:/Work/Source/QT/QT_6.8.1/build/v142-release-shared-md/qtbase/src/plugins/tls/schannel/QSchannelBackendPlugin_autogen/timestamp C:/Work/Source/QT/QT_6.8.1/build/v142-release-shared-md/qtbase/src/plugins/tls/schannel/QSchannelBackendPlugin_autogen/mocs_compilation.cpp
C:\WINDOWS\system32\cmd.exe /C "cd /D C:\Work\Source\QT\QT_6.8.1\build\v142-release-shared-md\qtbase\src\plugins\tls\schannel && C:\DevTool\cmake\bin\cmake.exe -E cmake_autogen C:/Work/Source/QT/QT_6.8.1/build/v142-release-shared-md/qtbase/src/plugins/tls/schannel/CMakeFiles/QSchannelBackendPlugin_autogen.dir/AutogenInfo.json RelWithDebInfo && C:\DevTool\cmake\bin\cmake.exe -E touch C:/Work/Source/QT/QT_6.8.1/build/v142-release-shared-md/qtbase/src/plugins/tls/schannel/QSchannelBackendPlugin_autogen/timestamp && C:\DevTool\cmake\bin\cmake.exe -E cmake_transform_depfile Ninja gccdepfile C:/Work/Source/QT/QT_6.8.1 C:/Work/Source/QT/QT_6.8.1/qtbase/src/plugins/tls/schannel C:/Work/Source/QT/QT_6.8.1/build/v142-release-shared-md C:/Work/Source/QT/QT_6.8.1/build/v142-release-shared-md/qtbase/src/plugins/tls/schannel C:/Work/Source/QT/QT_6.8.1/build/v142-release-shared-md/qtbase/src/plugins/tls/schannel/QSchannelBackendPlugin_autogen/deps C:/Work/Source/QT/QT_6.8.1/build/v142-release-shared-md/CMakeFiles/d/0c35499e00e5c581ee7c4eee6475462d3a5c5365e156a5d2aafd13f3ce126fc6.d"

AutoMoc subprocess error
------------------------
The moc process failed to compile
  "SRC:/qtbase/src/plugins/tls/schannel/qtlsbackend_schannel_p.h"
into
  "SRC:/build/v142-release-shared-md/qtbase/src/plugins/tls/schannel/QSchannelBackendPlugin_autogen/EWIEGA46WW/moc_qtlsbackend_schannel_p.cpp"
Process failed with return value 3221225781

Command
-------
C:/Work/Source/QT/QT_6.8.1/build/v142-release-shared-md/qtbase/bin/moc.exe -DCMAKE_CXX_STANDARD=17 -DCMAKE_C_STANDARD=11 -DNOMINMAX -DQSchannelBackendPlugin_EXPORTS -DQT_CORE_LIB -DQT_DEPRECATED_WARNINGS -DQT_EXPLICIT_QFILE_CONSTRUCTION_FROM_PATH -DQT_LEAN_HEADERS=1 -DQT_NETWORK_LIB -DQT_NO_CAST_FROM_ASCII -DQT_NO_DEBUG -DQT_NO_EXCEPTIONS -DQT_NO_FOREACH -DQT_NO_JAVA_STYLE_ITERATORS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_QASCONST -DQT_NO_QEXCHANGE -DQT_NO_QSNPRINTF -DQT_PLUGIN -DQT_USE_QSTRINGBUILDER -DUNICODE -DWIN32 -DWIN64 -D_CRT_SECURE_NO_WARNINGS -D_ENABLE_EXTENDED_ALIGNED_STORAGE -D_UNICODE -D_WIN64 -IC:/Work/Source/QT/QT_6.8.1/qtbase/src/plugins/tls/schannel -IC:/Work/Source/QT/QT_6.8.1/build/v142-release-shared-md/qtbase/src/plugins/tls/schannel -IC:/Work/Source/QT/QT_6.8.1/build/v142-release-shared-md/qtbase/include -IC:/Work/Source/QT/QT_6.8.1/build/v142-release-shared-md/qtbase/src/network -IC:/Work/Source/QT/QT_6.8.1/build/v142-release-shared-md/qtbase/include/QtNetwork/6.8.1 -IC:/Work/Source/QT/QT_6.8.1/build/v142-release-shared-md/qtbase/include/QtNetwork/6.8.1/QtNetwork -IC:/Work/Source/QT/QT_6.8.1/build/v142-release-shared-md/qtbase/src/corelib -IC:/Work/Source/QT/QT_6.8.1/build/v142-release-shared-md/qtbase/include/QtCore/6.8.1 -IC:/Work/Source/QT/QT_6.8.1/build/v142-release-shared-md/qtbase/include/QtCore/6.8.1/QtCore -IC:/Work/Source/QT/QT_6.8.1/build/v142-release-shared-md/qtbase/include/QtCore -IC:/Work/Source/QT/QT_6.8.1/qtbase/mkspecs/win32-msvc -IC:/Work/Source/QT/QT_6.8.1/build/v142-release-shared-md/qtbase/include/QtNetwork --output-json --output-dep-file -o C:/Work/Source/QT/QT_6.8.1/build/v142-release-shared-md/qtbase/src/plugins/tls/schannel/QSchannelBackendPlugin_autogen/EWIEGA46WW/moc_qtlsbackend_schannel_p.cpp C:/Work/Source/QT/QT_6.8.1/qtbase/src/plugins/tls/schannel/qtlsbackend_schannel_p.h

Output
------

enter image description here

I am compiling the release version, why is the debug dynamic library linked?

If remove -force-debug-info -separate-debug-info, can success. Or replace with -debug -shared, also success, but I want to pdb file.

Share Improve this question asked Jan 29 at 14:35 pp wpp w 1
Add a comment  | 

1 Answer 1

Reset to default 0

I achieved this directly using cmake. This is cmake commandline:

cmake -S ../.. ^
  -G Ninja ^
  -DCMAKE_BUILD_TYPE=Release ^
  -DBUILD_SHARED_LIBS=ON ^
  -DFEATURE_force_debug_info=ON ^
  -DFEATURE_separate_debug_info=ON ^
  -DFEATURE_static_runtime=OFF ^
  -DCMAKE_INSTALL_PREFIX="C:/Library/QT/6.8.1/VS2019/x64-release-shared" ^
  -DINPUT_openssl=runtime ^
  -DBUILD_qtdoc=OFF ^
  -DBUILD_qtwebengine=OFF ^
  -DBUILD_qtwebview=OFF ^
  -DQT_INTERNAL_CALLED_FROM_CONFIGURE:BOOL=TRUE ^
  -DBUILD_WITH_PCH=OFF ^
  -DQT_QMAKE_TARGET_MKSPEC=win32-msvc ^
  -DCMAKE_C_COMPILER=cl ^
  -DCMAKE_CXX_COMPILER=cl ^
  -DQT_BUILD_TESTS=FALSE ^
  -DQT_BUILD_EXAMPLES=FALSE ^
  -DFEATURE_cxx20=OFF ^
  -DFEATURE_cxx2b=OFF ^
  -DFEATURE_ssl=ON ^
  -DFEATURE_system_zlib=ON ^
  -DFEATURE_system_sqlite=ON ^
  -DINPUT_libpng=system ^
  -DINPUT_libjpeg=system ^
  -DINPUT_freetype=system ^
  -DINPUT_harfbuzz=system ^
  -DINPUT_pcre=system ^
  -DINPUT_doubleconversion=system ^
  -DINPUT_webp=system ^
  -DINPUT_tiff=system ^
  -DFEATURE_icu=ON ^
  -DFEATURE_gif=ON ^
  -DFEATURE_ico=ON ^
  -DFEATURE_vulkan=OFF ^
  -DFEATURE_xcb=OFF ^
  -DFEATURE_egl=OFF ^
  -DFEATURE_libudev=OFF ^
  -DFEATURE_slog2=OFF ^
  -DFEATURE_dbus=OFF ^
  -DCMAKE_CXX_STANDARD=17 ^
  -DCMAKE_C_STANDARD=11 ^
  -DCMAKE_CXX_FLAGS_RELEASE="/Zi /DNDEBUG" ^
  -DCMAKE_C_FLAGS_RELEASE="/Zi /DNDEBUG" ^
  -DCMAKE_EXE_LINKER_FLAGS_RELEASE="/debug" ^
  -DCMAKE_SHARED_LINKER_FLAGS_RELEASE="/debug" ^
  -DCMAKE_MODULE_LINKER_FLAGS_RELEASE="/debug" ^
  -DCMAKE_STATIC_LIBRARY_FLAGS_RELEASE="/debug"
发布评论

评论列表(0)

  1. 暂无评论