2013-06-17 1 views
1

Qt에서 간단한 응용 프로그램을 사용하고 있으며 가지고있는 코드를 연결하려고합니다. 그러나 프로젝트에서 파일을 병합 할 때 컴파일되지만 시작시 오류가 발생합니다. 디버깅하려고 할 때 팝업 메시지가 나타나 실행 파일 오류 : 시작 프로그램에서 코드 0xc0000139로 종료되었습니다.Qt 실행 가능한 오류 : Qt 응용 프로그램에서 C++을 병합하려고하는 0xc0000139

Google에서 검색 한 결과 아마 dll 오류 일 가능성이 높습니다. 나는 도서관이 어떻게 작동하는지 정말로 모른다는 것을 인정해야한다. 그래서 나는 약간 혼란 스럽다.

코드 함수를 함수로 가져 와서 어떤 코드가 작동하고 무엇이 오류가 발생하는지 확인하려고했습니다. 이 같은 간단한 기능 :

void descendanceOf(std::vector< std::list<int> >& tree, int node){ 
     std::list<int> descendance; 
     descendance.push_back(4); 
} 

오류가 발생합니다,하지만이 같은 기능 :

bool isFatherOf(const std::vector < std::list <int> >& tree, int node1, int node2){ 
    for(std::list<int>::const_iterator it = tree[node1].begin(); 
      it != tree[node1].end(); it++){ 
     if((*it) == node2){ 
      return true; 
     } 
    } 
    return false; 
} 

작품을 완벽하게 정상적으로. 나는 혼란스러워. 처음에는 std 라이브러리와 관련이 있지만 두 함수 모두 그것을 사용합니다.

답변

0

응용 프로그램이 dlopen을 통해로드되지 않은 필수 DLL을 대부분 찾을 수 있는지 알아 보려면 dependency walker 사본을 다운로드해야합니다. http://msdn.microsoft.com/en-us/library/ms235265.aspx

Windows의 경우 전체/대부분의 DLL 경로는 일반적으로 % PATH % 환경 변수에 있습니다.

cmd 프롬프트를 시작하고 "set"을 입력하여 모든 환경 변수를 볼 수 있습니다.

+0

고맙습니다! 그게 내가 한 일이고 libstdC++ - 6.dll이 누락되었다는 것을 깨달았습니다. 이후 다른 문제가 발생했습니다 ... 나는 qt를 제거하고 minGW 및 다른 충돌 소스를 삭제하고 다시 시작하기로 결정했습니다. –

관련 문제