linux下静态编译qwt

有时需要静态编译的库,怎么办?现在来摸一把石头吧。
在源码src目录下,有个src.pro,打开它,找到这一段:
contains(QWT_CONFIG, QwtDll) {
CONFIG += dll
win32|symbian: DEFINES += QT_DLL QWT_DLL QWT_MAKEDLL
}
直接将CONFIG += dll修改成CONFIG += staticlib,在执行qmake后执行make,等待结果:
linux下静态编译qwt
看到这个结果,成了,在…/lib/目录下,一个.a文件静静的躺着,用一把试试呗。再次新建一个图形工程,将此静态库放到当前工程目录下,在pro中添加:
INCLUDEPATH += /usr/local/Trolltech/Qt-4.8.7-debug/qwt/include
LIBS += -Wl,-Bstatic -L/$$PWD -lqwt
LIBS += -Wl,-Bdynamic
看看我添加完代码执行的结果:
linux下静态编译qwt
成了,碰到这种要用静态库的使用场景(如x86和arm环境都要编译时),还可以直接将源代码包含到项目工程中,前提是这个库编译不要太久,否则还不如静态库来得快。