2014-05-16 2 views
2

원래 Qt 라이브러리 4.8.1을 사용하여 Qt 응용 프로그램을 작성했습니다. 이제 나는 다른 PC에있다. Qt Creator와 함께 Qt 5.2.1을 설치 한 다음 Qt 4.8.6 라이브러리를 설치했습니다. 나는 컴파일러 (MinGW47_32)와 올바른 gdb로 올바른 키트를 지정했다. 이제 컴파일하면 프로그램이 손상되었다고 알려줍니다. 디버깅을 시도하면 "시작 프로그램이 코드 0xc0000139로 종료되었습니다."라는 메시지가 나타납니다. 나는 오류 코드를 봤는데, Qt 버전 5.0.1은 4.8.6을 사용했지만 기록 된 버그가있다. 나는 그것을 보았고 설치 한 MinongW 컴파일러에 관한 것이었다. 내가 Qt를 제거했기 때문에 Qt를 다시 설치했지만 여전히 같은 문제가있다. Google은 그 코드에 대해 다른 말을하고 그래서 나는 궁금해한다. 문제는 ??? 희망 somethings가 다만 묻는 경우에 나는 필요한 모든 정보를 썼다 : D thanks오류 코드 0xc0000139 Qt 디버그

ps. 이것은 단지 4.8.6 libs에서 발생합니다. 5.2.1은 잘 작동합니다.

+0

프로젝트의 빌드 환경 섹션에서 "시스템 환경 지우기"를 확인하십시오. 내가 이해하는 한 - 컴파일러/qt 쌍으로 무엇을 선택 하든지, 실행시 PATH 변수에 의해 오염됩니다. – Zeks

+0

WORKS !!!! : D 감사합니다. –

답변

1

좋아, 그래서 그것의 진짜 픽스가 아닌 해결 방법을 추측했습니다. Qt Creator에서 시스템 환경을 사용하지만 컴파일러의 libs 및 bin 디렉토리와 Qt bin 및 libs 디렉토리의 경로를 설정하십시오. 실행을 위해서도 시스템 환경을 사용하십시오. 그런 다음 디버그 모드로 앱을 빌드하십시오. 그런 다음 응용 프로그램에 필요한 모든 * .dll을 응용 프로그램을 빌드 한 디렉토리 (build-debug/debug와 같은)에 복사하십시오. Qt 라이브러리에는 일반적인 libs가 있고 디버그 것들에는 이름의 끝에 "d"가 있습니다 (예 : QtCore ** d **. dll). 그런 것들이 필요합니다. 어떤 파일이 필요한지 잘 모르는 경우에는 dependencyWalker로 방금 빌드 한 .exe 파일을여십시오. 이제 QtCreator를 통해 실행할 수 있습니다.