qt - 如何在不安装 vc_redist.x64.exe 的情况下运行 Qt 静态构建
问题描述
我想使用 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" -platform win32-msvc2015 -qt-zlib -qt-pcre -qt-libpng -qt-libjpeg -qt-freetype -opengl 桌面 -sql-sqlite -sql-odbc -no-openssl -opensource -confirm-license -make 库 -nomake 工具 -nomake 示例 -nomake 测试
- 修改为.
src\qtbase\mkspecs\common\msvc-desktop.conf
_-MD
-MT
构建过程中没有错误,但是如果我在运行程序时不安装 MSVC 运行时将得到:
api-ms-win-crt-runtime-l1-1-0.dll
失踪。
如何像 Mingw 静态构建一样使 MSVC 静态独立?
编译测试程序的输出:
cl -c -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -O2 -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步)不起作用?
如果您有任何想法或猜测,请发表评论。
更新:
- 赢10 64
无论我添加-static-runtime
与否,两者都可以运行 withoutvc_redist
- 赢 7 32
Qt 5.10.1 编译通过,但api-ms-win-core-winrt-l1-1-0.dll is missing
在执行程序时得到。
即使我重新安装vc_redist
仍然有错误...
相关:为什么安装的 vc_redist 仍然给出 api-ms-win-core-winrt-l1-1-0.dll 丢失
Qt 5.11.1 编译也通过了,但是C1083: 'QtCore/qglobal.h':No such file or directory
在构建程序的时候得到了。
解决方案
推荐阅读
- python - 更改 redirect_stdout 上下文
- iphone - 长时间连接 Wifi 到 ESP8266 到 iOS
- apache - 如何在 htaccess 中为文件夹禁用 gzip 压缩
- ionic-framework - 一代 Apk 离子
- python - 增加集合 pymongo 中所有对象的所有字段
- string - 将 VB.Net CSV 文件读入列表的问题,缺少一半的值
- angular - 在 Ag-Grid 中使用 col-id 删除默认类
- python - 将 JSON 键值导入 pandas 数据框错误
- typescript - 为什么返回类型中的泛型类型参数 T “未知”?如何键入此函数以便正确推断返回类型?
- numpy - 如何在 Python 中从特定轴中选择数组元素