将目录中存储的所有外部库添加到Qt项目中

 飞上天的鱼 发布于 2023-01-04 15:03

有没有办法添加来自给定文件夹的所有库,而无需将每一个库添加到LIBSQt项目文件中的变量.

我已将所有库(DLL(win)或SO(unix))与头文件放在一个目录(MYLIBS)中,并尝试这样的方法:

LIBS *= -L$$PWD/MYLIBS -l*
INCLUDEPATH += $$PWD/MYLIBS
DEPENDPATH += $$PWD/MYLIBS

它不适用于错误消息cannot find -l*.是否可以qmake在创建Makefile时使用通配符?

1 个回答
  • 您可以使用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,)
        }
    }
    

    2023-01-04 15:06 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有