前文提到过将动态库打包的方法,但是对于一个简单地小程序来说,个人觉得还是比较麻烦,所以还是决定编译一下静态库使用。虽然静态编译的程序体积可能大一些,但小程序的话还是不妨的。记录下来,以后用着的时候再来看看。
下载源码
不知道怎么回事,在官网上下载的源码包在生成makefile文件的时候总是出现莫名其妙的错误,猜测可能是文件格式的问题,所以为了避免各种麻烦,直接到Git仓库里下载源码
|
|
源码包有点大,网络不好的可以多等一会儿。
ps:关于具体的源码下载问题,可以参考官方wiki。
配置文件
关于详细的配置,可以在文件目录下在命令行输入./configure -h
查看(注意所用的shell)
根据自己需要选择。
输入所选项(编译静态库的话-static
这个选项是一定要有的),
configure -prefix ~/.local/Qt/5.14-static -confirm-license -opensource -platform linux-g++ -release -static -fontconfig -qt-sqlite -qt-zlib -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -opengl desktop -qt-assimp -qt-xcb -nomake examples -nomake tests
然后开始编译,
|
|
等待漫长的编译时间,这个与个人计算机的性能有关,时间不定。
安装,
|
|
这样编译好的Qt就安装到-prefix
所指的目录下了。
使用静态库
打开QtCreator,找到工具->选项->Kits->Qt Versions
,点击添加
按钮,将所编译的静态库下的qmake
添加进去,
然后点击Qt Versions
旁边的构建套件(Kit)
,再点击添加
,建立一个名为Desktop-static
(名字随便起)的选项,然后Qt Version
的选项选择刚才添加的版本。由于我只构建了release
版本的静态库,并且只在打包的时候用,所以就不去设置为默认
了。
这样在编译的时候便可以选择用哪一个库了。
Qt编译静态库over。