Qt静态编译
程序员文章站
2022-03-30 17:10:26
...
1.qt-everywhere-opensource-src-5.9.0.tar.gz下载源码包
2.解压
3.配置configure
4.make
5.make install
6.添加环境变量
QTDIR=/usr/local/Trolltech/Qt-5.9.0_static/
PATH=$QTDIR/bin:$PATH
MANPATH=$QTDIR/doc/man:$MANPATH
LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export QTDIR PATH MANPATH LD_LIBRARY_PATH
7.重启,执行qmake -v查看是否能显示版本号
编译程序
1.例如一个已有的qt工程,将工程目录下的*.pro和*.pro.usr文件删掉
2.执行qmake -project生成一个新的pro文件
3.修改pro文件,在里边添加CONFIG += static
4.执行qmake生成Makefile
5.修改Makefile,在CXXflags选项后面加上 -static
6.执行make生成可执行文件,此时可执行文件大小为几十M
报错:执行make时可能会产生一下报错
In file included from main.cpp:1:0:
mainwindow.h:4:23: fatal error: QMainWindow: 没有那个文件或目录
#include <QMainWindow>
^
compilation terminated.
这个错误是因为执行qmake -project生成新的pro文件,这个文件里什么配置都没有,需要我们加上 QT += core widgets
或其他一些工程需要的静态库动态库等等,也就是第2步生成的是一个很原生的一个pro文件,具体的配置需要自己加上