有没有办法添加来自给定文件夹的所有库,而无需将每一个库添加到LIBS
Qt项目文件中的变量.
我已将所有库(DLL(win)或SO(unix))与头文件放在一个目录(MYLIBS)中,并尝试这样的方法:
LIBS *= -L$$PWD/MYLIBS -l* INCLUDEPATH += $$PWD/MYLIBS DEPENDPATH += $$PWD/MYLIBS
它不适用于错误消息cannot find -l*
.是否可以qmake
在创建Makefile时使用通配符?
您可以使用files,basename和replace函数来获得所需内容:
LIBS *= -L$$PWD/MYLIBS
win32 {
SHARED_LIB_FILES = $$files($$PWD/MYLIBS/*.dll)
for(FILE, SHARED_LIB_FILES) {
BASENAME = $$basename(FILE)
LIBS += -l$$replace(BASENAME,.dll,)
}
}
unix {
SHARED_LIB_FILES = $$files($$PWD/MYLIBS/*.so)
for(FILE, SHARED_LIB_FILES) {
BASENAME = $$basename(FILE)
LIBS += -l$$replace(BASENAME,.so,)
}
}