2013-06-02 3 views
0

나는이 link에 주어진대로 VS-10과 함께 Windows 8 용 부스트를 올바르게 컴파일했습니다. 내 프로젝트가 잘 작동합니다. 그러나 프로젝트를 다른 Windows 7 컴퓨터에 복사하면 "응용 프로그램을 올바르게 시작할 수 없습니다 (0xc000007b)."라는 오류 메시지가 반환됩니다.이 응용 프로그램을 닫으려면 확인을 클릭하십시오. " 나는 부스트를 두 번째 PC에도 올바르게 설치했다. 두 PC 모두 64 비트이고 두 버전 모두 32 비트 부스트를 설치했습니다. 프로젝트가 32 비트가 아닌 64 비트 라이브러리를 동적으로 연결하기 때문에 일부 링크에서 발견했습니다. 이것을 휴대용 솔루션으로 구축하는 방법에 대해 친절하게 조언 해 주실 수 있습니까? 미리 감사드립니다.Windows 7에서 부스트 라이브러리 오류가 발생했습니다.

업데이트 1 : 다음은 종속성 워커 출력입니다. enter image description here

답변

1

라이브러리를 컴파일하려면 Visual Studio 2010 명령 프롬프트 x86을 선택 했습니까? 또는 x64 버전? 시작 메뉴에 두 개 이상의 버전의 명령 프롬프트가 있습니다. 내 생각 엔 실수로 x64 버전을 실행 한 다음 컴파일 된 부스트로 인해 컴파일 된 라이브러리의 x64 비트 버전이 생성됩니다. > VC++ 디렉터리 - 당신의 VS2010 프로젝트 속성에서 다음

call "%vs110comntools%..\..\VC\vcvarsall.bat" x86 
cd C:/boostsourcefolder/ 
call bootstrap.bat 
.\b2 runtime-link=static 
.\b2 runtime-link=shared 

, 일반 등록 :

compileboost.bat : 여기

는 86에 부스트의 정적 및 공유 버전을 컴파일하는 배치 파일입니다 -> 디렉토리 포함, 부스트 폴더 (C :/boostsourcefolder /)를 입력하십시오. Common Properties -> VC++ Directories -> Library Directories에서 boost 컴파일 된 라이브러리 폴더 (C :/boostsourcefolder/stage/lib /)를 입력하십시오.

거의 모든 작업을 수행해야합니다.

+0

Visual Studio 명령 프롬프트 (2010), Visual Studio x64 크로스 도구 명령 프롬프트 (2010) 및 Visual Studio x64 Win64 명령 프롬프트 (2010)로 세 가지 명령 프롬프트가 있습니다. 두 컴퓨터에서 첫 번째 컴파일 (Visual Studio 명령 프롬프트 (2010))을 사용했습니다. 다른 버전을 사용해야합니까? 고맙습니다. –

+0

그것은 올바른 것이어야합니다. 더 자세한 내용이 도움이 될 경우를 대비해 답장을 업데이트했습니다. –

+0

다음 두 명령을 사용하여 수행 한 작업이 제안한 것과 완전히 다른지 궁금합니다. 제발 친절하게 조언. 부팅 소스 폴더에서 "bootstrap"을 실행 한 다음 "bjam toolset = msvc-10.0 variant = debug, release threading = multi link = static"을 실행했습니다. –