2013-03-20 2 views
4

내 프로젝트 용 라이브러리를 만들려고합니다. (Qt5, Qt Creator, VS2010 컴파일러)Qt5에서 Creat 정적 라이브러리를 사용하십시오.

최소한의 테스트 샘플로 시작하여 작동 원리를 확인했습니다.

1-I는 메소드와 클래스를 포함하는 라이브러리를 만든

2-I는 내가이 LIB하고 해당 경로를 추가 주요 aplication에서

3의 DLL과 lib 디렉토리 파일을 컴파일 얻을 .pro 및 성공적으로 테스트 된 라이브러리.

이제 DLL을 없애고 lib 파일을 정적 라이브러리로 사용하고 싶습니다.

그래서 내가 ... 내가 컴파일 후 lib 디렉토리 파일을 가져,하지만 난 내 프로젝트에서 사용할 수 없으며, 내가 해결되지 않은 외부 기호를 얻을 이제

CONFIG+=staticlib 

파일 .PRO 내 라이브러리에이 줄을 추가 오류

CONFIG + staticlib를 제거하면 다시 작동합니다! 정적이 아닙니다. 이 Qt를 내 자신의 정적 라이브러리를 가질 수 있습니다 (없음 - 상업용 라이센스 :

이 내가로드의 주요 프로젝트/링크 라이브러리

INCLUDEPATH +="G:/TestLib/testLib" 
LIBS +=-l"G:/Build/debug/testLib" 

그래서 질문은의 파일을 .PRO에 추가 라인은)?

예인 경우 내 접근 방식에 어떤 문제가 있습니까?

shoud 나는 정적 라이브러리를 지정하기 위해 LIBS + = ...의 내용을 변경합니까?

나는 This Article을 읽었으며 내 코드에는 아무런 문제가없는 것으로 보입니다.

도움이 필요하십니까?

편집 : 문제는 문제는 우리가 정적 라이브러리 Q_DECL_EXPORT 및 Q_DECL_IMPORT을 필요로하지 않는 것이 었습니다
를 해결! 그 스케치 illusory 기사 명시 적으로 언급되지 않았습니다.

+0

아마도 솔루션을 답변으로 추가하고 동의해야할까요? – aukaost

답변

3

문제는 문제는 우리가 정적 라이브러리에 대한 Q_DECL_EXPORTQ_DECL_IMPORT을 필요로하지 않는 것이 었습니다

를 해결! 그것은 스케치 환상적 기사에서 명시 적으로 언급되지 않았습니다.

Q_DECL_EXPORTQ_DECL_IMPORT은 동적 라이브러리에 필요합니다.

관련 문제