2011-10-05 4 views
1

저는 C++의 초보자이고 어쩌면 매우 어리석은 질문이지만 정적 링크 라이브러리의 헤더를 어떻게 포함할까요?Qt 크리에이터 및 정적 라이브러리

나는 다음과 같은 .PRO 파일 Qt는 창조주에 정적 라이브러리를 만들었습니다 그것을 컴파일 내 대상 프로젝트의 "extstaticlibs"폴더에 결과 libFoobar.a을 넣어

QT -= gui 
TARGET = Foobar 
TEMPLATE = lib 
CONFIG += staticlib 

SOURCES += thefoobar.cpp \ 
    sub/subbar.cpp 

HEADERS += thefoobar.h \ 
    sub/subbar.h 

. 내가 다음 줄을 추가 한 .PRO 파일 내 대상 프로젝트에서

는 :

LIBS += -L$$PWD/extstaticlibs/ -lFoobar 
INCLUDEPATH += $$PWD/extstaticlibs 

대상 프로젝트는 문제없이 컴파일합니다. 내 코드 파일 중 하나의 헤더 thefoobar.h을 포함하려고 할 때 : 항상 오류가 발생

#include "thefoobar.h" 

는 :

error: thefoobar.h: No such file or directory 

올바른 구문에 대한 어떤 제안을 매우 많이 주시면 감사하겠습니다 . 크리스토퍼

답변

1

"thefoobar.h"헤더 파일의 위치를 ​​확인하십시오. "extstaticlibs /"폴더에 넣으십시오.

1

내가 제대로 설명을 따르는 경우에

, 당신은 단지 당신의 extstaticlibs 디렉토리에 정적 라이브러리를 넣어. thefoobar.h 파일도 가지고 다닐 필요가 있습니다. 당신이 일반적인 구조를 따르는 경우에 당신이 만들 수 :

extstaticlibs/include <- thefoobar.h goes here 
extstaticlibs/lib <- libFoobar.a goes here 

을 당신은 다음과 같이 프로젝트 파일을 수정해야합니다 : 물론

LIBS += -L$$PWD/extstaticlibs/lib -lFoobar 
INCLUDEPATH += $$PWD/extstaticlibs/include 

당신이 모두 하나의 디렉토리에 던질 수있는, 당신이 원하는 경우, 하지만 처음부터 일을 정리하는 것이 도움이 될 수 있습니다.

관련 문제