2011-07-03 2 views
1

저는 QtCreator를 사용하고 있으며, 각각 자체 PRO 파일이있는 두 개의 프로젝트가 있습니다.
뷰어는 일반적인 Qt 앱입니다. 다른 하나는 유틸리티라고 부르며 뷰어에서 사용되는 정적 라이브러리라고 가정합니다.QtCreator : 정적 라이브러리이지만 여전히 DLL을 요구합니다.

그러나 뷰어를 컴파일하고 실행할 때 (모든 것이 잘 컴파일 됨) Utilities.dll을 찾을 수 없다는 오류 메시지가 나타납니다.

이 유틸리티에 대한 PRO-파일의 첫 번째 부분 :

 
QT  -= core gui 

TARGET = Utilities 
TEMPLATE = lib 
CONFIG += staticlib warn_on $$(QMAKESPEC) 

그것은 그런 식으로 작동하지 않나요?

유틸리티 (Utilities.a) 파일을 잘 컴파일하지만 런타임에 DLL을 묻는 이유는 무엇입니까? 정적 라이브러리라고 가정합니다. (
Utilities.pro에서 필요한 라이브러리를 지정하지 않았으므로 고정 라이브러리에 대한 예상대로 연결되지 않았습니다.

내 플랫폼은 W7-x64이고, . 최신 Qt는 SDK와 함께 번들로는 MinGW 4.4 희망의 사람이 도움이 될 수 있습니다/

감사

답변

0

CONFIG += staticlib 요청 당신의 대상 라이브러리를 정적 lib 디렉토리 전체가 아니라 의존성 체인으로 ... 내가! .a lib에가 필요합니다.dll을 실행하려면 ...

종속성을 줄이려면 MSVC 도구 체인을 사용하십시오 (Qt는 사전 컴파일 된 패키지를 제공합니다). 하나 또는 두 개의 필수 dll 종속성으로 끝납니다. 아니면 다시 mingw 정적 SDK를 링크 할 수 있습니다 (아마도 직접 빌드해야합니다 ...).

관련 문제