selph
selph
发布于 2022-03-05 / 1859 阅读
0
0

Qt6+VS2022配置静态编译

#QT

为什么要静态编译程序?

在默认情况下,用QtCreator编译程序时,使用的是动态编译,这就导致编译好的程序在运行时需要另外加上相应的Qt库文件,以及一大堆dll文件。

如果想将生成的程序连同所需要的库一起完整地打包成一个可执行程序,并且可以在一台没有开发环境的电脑上运行,那就需要使用静态编译。

环境准备

  • Visual Studio 2022
  • Qt 6.2.0

配置Qt6静态编译

我前面根据网上的各种博客,试图通过源码编译的方式进行获取静态库,均以失败告终

网上有些博客写的就很离谱,举个例子:还语法错误install后面有个.,大哥,你这上一步命令直接报错退出了你看到了没???下一步命令咋个执行??

image-xs

因为编译不成功,那就找找看网上有没有现成编译好的静态库用用,最终在GitHub上找到一个:

spatial-model-editor/sme_deps_qt: Qt libraries statically compiled for linux / macOS / windows (github.com)

下载完,解压,把smelibs目录直接移动到C盘根目录(要是会改qmake的prefix可以自行更改目录)

然后在Visual Studio 2022的QT VS Tools扩展的QT Versions里进行设置:

image-20220210234110906

然后新建Qt项目的时候选择刚刚新增的那个Qt版本即可:

image-20220210234212226

如果是现成的项目想用静态编译,则直接在项目设置里修改Qt Version即可(注意:要把项目属性,C/C++,代码生成,运行库设置为MD,不能用其他的,因为这个静态库编译的时候就设置的是MD,不然会报几千个错

然后直接编译就行了

如果是使用Qt Creator的话,可参考:(6条消息) Qt官方办法解决:Qt没有被正确安装,请运行make install问题的解决_岬淢箫声-CSDN博客_qt没有被正确安装 进行设置

参考链接

(6条消息) Qt官方办法解决:Qt没有被正确安装,请运行make install问题的解决_岬淢箫声-CSDN博客_qt没有被正确安装

spatial-model-editor/sme_deps_qt: Qt libraries statically compiled for linux / macOS / windows (github.com)


评论