Qt最新版5.12在Windows环境静态编译安装和部署的完整过程(VS2017)

为什么要静态编译

在默认情况下,用QtCreator编译程序时,使用的是动态编译。编译好的程序在运行时需要另外加上相应的Qt库文件,一大堆dll文件。如果想将生成的程序连同所需要的库一起完整地打包成一个可执行程序,那就需要使用静态编译。Qt官方不提供静态编译好的安装包,所以需要我们在自己的电脑上静态编译。而且exe文件会比动态编译的要小上很多。

1.源码下载

Qt最新版5.12.0的源码下载地址:qt-everywhere-src-5.12.0
选择文件:
在这里插入图片描述
源代码压缩包文件789M,解压后有2.48G的大小。

2. 编译工具下载

Qt官方文档要求编译工具:Qt for Windows - Requirements Qt 5.12
打开源码目录下的README文件,查看Windows环境下编译需要安装的工具:
在这里插入图片描述

ActivePerl

ActivePerl下载地址:

  • 20
    点赞
  • 132
    收藏
    觉得还不错? 一键收藏
  • 19
    评论
如果你已经在系统中安装了 CLANG,但是在 QT 静态编译时仍然提示找不到 libclang,这可能是因为 QT 的 configure 脚本没有正确地检测到 CLANG 的信息。 你可以尝试在编译 QT 之前设置以下环境变量: ``` export LLVM_INSTALL_DIR=/path/to/clang/installation export LLVM_LIBS_DIR=$LLVM_INSTALL_DIR/lib export LLVM_INCLUDE_DIR=$LLVM_INSTALL_DIR/include ``` 其中,/path/to/clang/installation 是 CLANG 的安装路径。 然后,在编译 QT 之前,执行以下命令: ``` ./configure -static -prefix /path/to/qt/installation -opensource -confirm-license -nomake examples -nomake tests -skip qtwebengine -skip qtandroidextras -skip qtmacextras -skip qtpurchasing -skip qtquickcontrols2 -skip qtwebview -no-pch -no-icu -no-cups -no-dbus -no-glib -no-harfbuzz -no-sql-mysql -no-sql-psql -no-sql-sqlite -no-xcb -no-opengl -no-feature-relocatable -no-feature-process -no-feature-shared -no-feature-dynamic -no-feature-ssl -no-openssl -no-system-proxies -no-pulseaudio -no-gtk -no-iconv -no-sse2 -no-avx -no-avx2 -no-ssse3 -no-sse4.1 -no-sse4.2 -no-avx512f -no-avx512bw -no-avx512cd -no-avx512dq -no-avx512er -no-avx512ifma -no-avx512pf -no-avx512vbmi -no-avx512vl -no-avx512vpopcntdq -no-avx5124fmaps -no-avx5124vnniw -no-avx512bitalg -no-avx512vnni -no-avx512vbmi2 -no-avx512bf16 -no-avx512fp16 ``` 这个 configure 命令会禁用 QT 中的一些功能,以避免与 CLANG 的冲突。其中,-no-feature-shared 和 -no-feature-dynamic 选项会禁用 QT 的共享库和动态库功能,以确保 QT 静态编译后不依赖于系统中的任何共享库。 如果仍然提示找不到 libclang,可以在 configure 命令中添加 --verbose 参数,查看 QT 配置过程中的详细信息,以确定问题所在。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值