c – QT Creator – 在我自己的库中使用外部库
我正在
Linux上用cT Creator开发一个应用程序
我创建了自己的库,以便在一组应用程序中使用一些公共类. 在我创建的库中,我使用了另一个外部静态库(libSDL.a). 然后我将我的库添加到另一个应用程序并使用了一些类.在尝试编译我的应用程序时,我从我的库中获取未定义的引用来调用其他库. 根据我的理解,假设在编译期间复制静态库.为什么我得到应该复制到我的库中的库的未定义引用? 以下是* .pro文件中库项目的配置方式: QT -= gui TARGET = FoobarTools TEMPLATE = lib CONFIG += staticlib CONFIG -= shared DEFINES += FOOBARTOOLS_LIBRARY INCLUDEPATH += ./include/SDL_Headers/ LIBS += -L./bin/ -lSDL SOURCES += ... HEADERS += ... 以下是我的应用程序* .pro文件如何使用我的库: QT -= gui TARGET = FoobarApp CONFIG += console CONFIG -= app_bundle TEMPLATE = app INCLUDEPATH += ./include/ LIBS += -L./bin/ -lFoobarTools SOURCES += ... HEADERS += ... 解决方法
在应用程序的.pro中,您需要:
INCLUDEPATH = LibraryPath(这指向头文件的目录.) DEPENDPATH = LibraryPath(这也指向头文件的目录.) LIBS = -LDebugOrReleasePath -lLibraryName(这是lib-filename在开头减去’lib’,在结尾减’.a’.) 完成后,检查您的自定义库中的#include是否仍然有效. 在静态libary的.pro文件中你不需要触摸任何东西,也许添加’CONFIG = release’. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |