2016-10-03 4 views
0

Qt 앱 & 각각에 .pro 파일을 사용하여 빌드 된 몇 개의 라이브러리가 있습니다. 창문을 구축 할 때 내 응용 프로그램을 디버그 모드 &에 빌드하여 내 라이브러리의 디버그 버전에 연결하려고합니다. 여기에 정적 연결 인 경우 모두. 내 라이브러리의 디버그 버전을 빌드합니다. 괜찮아. pdb 파일은 빌드 폴더에서도 생성됩니다.Qt 앱이 내 라이브러리에 연결을 시도 할 때 D를 추가하지 않게하는 방법

그러나 내 앱을 만들 때 D을 내 라이브러리 이름에 추가하는 다음 오류가 발생합니다.

error: LNK1104: cannot open file 'MyLibD.lib'

은 내가 MyApp.pro 아래 지정으로하지 MyLib.lib에 대한 MyLibD.lib보고해야한다. 다음은 윈도우 OS 때 디버그 모드에서 D가 추가 될 내 라이브러리를 기대하는 이유는
LIBS   += -L$$MyLib_build_location -lMyLib 
Release:win32: LIBS += -L$$MyLib_build_location -lMyLib 
Debug:win32: LIBS += -L$$MyLib_build_location -lMyLib 
INCLUDEPATH += $$MyLib_include_location/ 
DEPENDPATH  += $$MyLib_include_location/ 
unix:PRE_TARGETDEPS += $$MyLib_build_location/MyLib.a 
Release:win32:PRE_TARGETDEPS += $$MyLib_build_location/MyLib.lib 
Debug:win32:PRE_TARGETDEPS += $$MyLib_build_location/MyLib.lib 

MyApp.pro

내 라이브러리에 링크하는 방법입니다? Qt가 라이브러리의 .pro에서 지정된 TARGET과 동일한 이름을 찾도록 만들 수있는 방법은 무엇입니까?

, 나는 C++ 컴파일러

+0

왜 모든 중복 링커 플래그가 필요합니까? –

+0

그럴 필요는 없습니다. 문제를 없애기 위해 모든 수단을 동원해보십시오. 내 라이브러리의 디버그 버전에 연결하는 방법에 대한 제안 사항이 있습니까? –

+0

@JoachimPileborg가 릴리스 및 디버그를 추가하지 않도록 단순화해도 동일한 오류가 발생합니다. 이 문제를 해결하는 방법을 모릅니다. 정말로 몇 가지 제안이 필요합니다 pls –

답변

0
당신은 당신의 응용 프로그램의 디버그 빌드를 구축하고

을위한 Qt는 창조주 함께 비주얼 스튜디오 2015 커뮤니티 버전을 사용하고 주 : 디버그 라이브러리와 링크해야합니다! 올바른 접두어로 디버그 빌드를 사용할 수 있도록 라이브러리의 프로젝트 파일을 수정해야합니다.

또한 빌드 위치의 수동 조정은 대개 비생산적인 사항입니다.

관련 문제