我正在 Linux 上的 C++ 中的 QT Creator 中开发一个应用程序
我创建了自己的库,以便可以在一组应用程序中使用一些通用类。
在我创建的库中,我使用了另一个外部静态库 (libSDL.a)。我已将我的库配置为静态库 (*.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 += ...