【发布时间】:2018-07-11 06:28:30
【问题描述】:
我想使用 MSVC2015 构建 Qt 5.10.1,并且不使用 MSVC 运行时。 已关注http://amin-ahmadi.com/2016/09/22/how-to-build-qt-5-7-statically-using-msvc14-microsoft-visual-studio-2015/
- 配置:
配置 -static -debug-and-release -prefix “C:\Qt\5.10.1-static-msvc2015”-平台 win32-msvc2015 -qt-zlib -qt-pcre -qt-libpng -qt-libjpeg -qt-freetype -opengl 桌面 -sql-sqlite -sql-odbc -no-openssl -opensource -confirm-license -make libs -nomake 工具 -nomake 示例 -nomake 测试
- 修改
src\qtbase\mkspecs\common\msvc-desktop.conf将-MD改为-MT。
在构建过程中没有错误,但是如果我在运行程序时不安装 MSVC 运行时会得到:
api-ms-win-crt-runtime-l1-1-0.dll 不见了。
如何让 MSVC 像 Mingw 静态构建一样静态独立?
编译测试程序的输出:
cl -c -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -zc:strictStrings -zc:throwingNew -02 -MT-W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -EHsc -DUNICODE -D_UNICODE -DWIN32 -DQT_DEPRECATED_WARNINGS -DQT_NO_DEBUG -DQT_QUICK_LIB -DQT_MULTIMEDIA_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DNDEBUG
如果我不执行第 2 步,输出将是 -MD。
那么为什么-MT(第 2 步)不起作用?
如果您有任何想法或猜测,请发表评论。
更新:
- Win10 64
不管我加不加-static-runtime,不加vc_redist都可以运行
- 赢 7 32
Qt 5.10.1 编译通过,但在执行程序时得到api-ms-win-core-winrt-l1-1-0.dll is missing。
即使我重新安装vc_redist 仍然出现错误...
相关:Why installed vc_redist still gives api-ms-win-core-winrt-l1-1-0.dll is missing
Qt 5.11.1 编译也通过了,但是在构建程序的时候得到了C1083: 'QtCore/qglobal.h':No such file or directory。
【问题讨论】:
标签: qt visual-c++ compilation