내에서 외부 라이브러리를 사용하여 나는 리눅스QT 창조주 - 나만의 도서관
내가 응용 프로그램 세트를 통해 몇 가지 일반적인 클래스를 사용할 수 있도록 내 자신의 라이브러리를 만든에 C++로 QT 창조주의 응용 프로그램을 개발하고있다.
내가 만든 라이브러리에서 다른 외부 정적 라이브러리 (libSDL.a)를 사용했습니다. 정적 라이브러리 (* .a)로 라이브러리를 구성했는데 문제없이 컴파일됩니다.
그런 다음 내 라이브러리를 다른 응용 프로그램에 추가하고 일부 클래스를 사용했습니다. 내 응용 프로그램을 컴파일 할 때 다른 라이브러리에 대한 함수 호출에 대한 내 라이브러리 내에서 정의되지 않은 참조가 나타납니다.
제 생각에 정적 라이브러리는 컴파일하는 동안 복사되는 것으로 가정합니다. 내 라이브러리에 복사해야하는 라이브러리에 대한 정의되지 않은 참조가 나타나는 이유는 무엇입니까?
다음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 += ...