linux下Qt的pro文件

生成生成文件后缀名的说明。这只是泛泛而谈,实际发现跟编译器有关。比如在windows系统上用MinGW,可能静态库还是a后缀。

文件 静态库 动态库 目标文件
LINUX a so o
WINDOWS lib dll obj

.pro文件中,INCLUDEPATH用于引入外部库的头文件,LIBS用于引入库文件。

部库的头文件在工程目录下(也就是跟.pro在同一级目录下),那么可以使用$$PWD这个变量代替绝对路径:

INCLUDEPATH += $$PWD/datafile


LIBS用于引入库,-L表示引入库目录,小写的-l表示引入库的名称,且无需将库的后缀写上,Qt会自动根据系统去分析库的后缀。

LIBS += -L$$PWD/../../bin/ -lCustomTableQuery

注意linux上似乎SUBDIRS中的顺序有要求。所以最好先写库项目,再写app项目。

或者如下:

MainMaterialsManagement.depends = BaseDmSql

TARGET = LooseStorage   #生成库的名字
TEMPLATE = lib                 #库项目

CONFIG(debug,debug|release) {                  #库文件放的位置
    DESTDIR = $$PWD/../../bin/plugins
}else {
    DESTDIR = $$PWD/../../bin/plugins
}

如果静态库和动态库进行了修改,库都会重新编译。但使用上有所不同。

对于动态库,使用库的代码生成程序后,能够正确链接到修改之后的库。

对于静态库,由于使用库的代码没有变化,所以使用库的代码不会重新编译,因此该代码生成的程序中仍然包含的是修改之前的静态库。要使用修改之后的静态库,就必须让使用静态库的代码重新编译。例如在使用库的代码中随便插入一个空白行等。
 

你可能感兴趣的:(linux,qt,运维)