2013-04-09 1 views
1

Project Only> ProjectName으로 VS2010을 통해 내 Visual Studio C++ 응용 프로그램 디버그 버전을 실행할 때 생성 된 EXE가 잘 실행됩니다. 내가 릴리스 버전을 생성하고 EXE가 나는 다음과 같은 오류가 생성 된 폴더로 이동 때 :디버그 버전이 실행되지만 릴리스는 0xc000007b를 제공합니다 - 누락 된 DLL이 있습니까?

The application was unable to start correctly (0xc000007b). Click Ok to close the application 

파일을 폴더에 내 프로젝트는 다양한 부스트 라이브러리를 사용하는 반면만을 exe 파일입니다. 부스트 dll이 없기 때문에이 메시지를주는 것이 가능합니까? 컴파일러가 필요한 모든 dll을 exe 폴더에 붙여 넣을 수있는 방법이 있습니까?

우리가 디버그에서와 디버그 버전을 가지고있는 것처럼 VS2010에서 릴리스 버전을 실행하기 위해 어떤 방법이 있나요 >> 새로운 인스턴스 그렇게되면 내가 싫어

답변

1

를 시작합니다. 사실은 DLL의 누락 된 실종 수 있습니다 :이 문제를 해결하는 가장 쉬운 방법은 경로 환경 변수에 폴더를 추가하는 것입니다. 슬프게도, 우리는 이것이 문제라는 것을 확인하기 위해 당신의 포스트로부터 충분한 정보를 가지고 있지 않습니다. 다른 일반적인 문제는 다음과 같습니다. 다른 아키텍처 용으로 빌드 된 라이브러리/다른 런타임 라이브러리를 사용하는 라이브러리에 링크하는 중입니다. 다른 타사 DLL이 누락되었습니다. 링커에서 사용한 .lib 파일은 다른 버전의 당신이 가리키고있는 dll보다 ... 목록이 계속됩니다.

런타임에 dll을 복사하는 방법은 사용자 지정 빌드 이벤트 [http://msdn.microsoft.com/en-us/library/e85wte0k%28v=80.aspx]를 사용하여 수행 할 수 있습니다. . dll을 "빌드 빌드 이벤트"로 복사하는 배치 스크립트를 작성하면 좋겠지 만 먼저 경로 방법을 제안합니다.

+1

exe ​​프로그램에서 dll 파일을 확인해야합니까? – MistyD

+1

@MistyD - depends.exe 사용 – user93353

+0

@MistyD, [Depends] (http://www.dependencywalker.com/)는 꽤 좋은 도구입니다. – IdeaHat

관련 문제