我已经在Ubuntu 14.04上使用这些命令静态构建了Qt 5.9.6
git clone git://code.qt.io/qt/qt5.git
perl init-repository --module-subset=qtbase,qtimageformats,qtcharts,qtsvg,qttools,qttranslations,qtx11extras
git submodule foreach --recursive git checkout v5.9.6
./configure -prefix "/usr/local/Qt-5.9.6" -release -force-debug-info -opensource -confirm-license -qt-zlib -qt-libpng -qt-libjpeg -qt-freetype -qt-harfbuzz -qt-pcre -qt-xcb -qt-xkbcommon-x11 -no-opengl -static -openssl-linked -nomake examples -nomake tests
MAKE_THREADS_CNT=-j8
make $MAKE_THREADS_CNT
sudo make install
这样构建就可以了,最后我可以将此构建添加到我的QtCreator中并构建一个测试项目。问题在于最终结果可执行文件动态链接到以下库:
,这是一个使我的可执行应用程序无法在其他ubuntu系统上运行的问题。我希望这些库静态链接到我的项目。
这些库位于/usr/lib/x86_64-linux-gnu/
,其中有两个版本,分别是静态编译(.a)和一些动态编译(.so)版本。
我还注意到QtCreator用于链接的命令包含以下库:
g++ -Wl,-O1 -o test main.o -L/usr/local/Qt-5.9.6/lib -lQt5Core -lm -licui18n -licuuc -licudata -lqtpcre2 -ldl -lgthread-2.0 -lglib-2.0 -lpthread
我应该更改构建中的内容还是更改项目中的.pro
以使这些库静态链接?