2011-10-27 5 views
1

co-brandQutecom을 입력하고 이에 대한 사용자 정의 Windows 설치 프로그램을 만듭니다.VS 2008 (명령 줄)에 대한 부스트 라이브러리를 포함하는 방법

경로 변수는 Windows 7 Ultimate x64 컴퓨터에서 .bat 파일을 사용하여 명령 프롬프트를 사용하여 설정합니다. .bat 파일의

내용 :

@echo on 
@SET QTDIR=C:\Qt\4.7.4 
@SET INCLUDE=%INCLUDE%;C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include 
@SET INCLUDE=%INCLUDE%;C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include\atl 
@SET INCLUDE=%INCLUDE%;C:\Program Files (x86)\Microsoft DirectX SDK (August 2007)\Include 
@SET LIB=%LIB%;C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib 
@SET PATH=%PATH%;C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Bin 
@SET PATH=%PATH%;C:\Qt\4.7.4\bin;c:\Program Files\Mercurial 
@SET BOOST_ROOT=C:\boost\boost_1_47_0 
@SET BOOST_INCLUDE_DIR=C:\boost\boost_1_47_0 
@SET BOOST_INCLUDE_DIRS=C:\boost\boost_1_47_0 
@SET BOOST_LIBRARY_DIRS=C:\boost\boost_1_47_0\stage\lib 
@SET BOOSTLIBDIR=C:\boost\boost_1_47_0\stage\lib 
@SET LIB=C:\boost\boost_1_47_0\stage\lib 
@SET LIBPATH=C:\boost\boost_1_47_0\stage\lib 
@SET BOOSTINCLUDEDIR=C:\boost\boost_1_47_0 
@SET PATH=%PATH%;C:\Program Files (x86)\NSIS 
@"C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools\vsvars32.bat" 

내가 해봤 다음 명령을

cmake .. -DCMAKE_BUILD_TYPE=Release -G "NMake Makefiles" 
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools\vsvars32.bat" && cmake .. -G "Visual Studio 9 2008" 

내가 비주얼 스튜디오 2008의 x64 크로스 도구 명령에서 다음과 같은 오류 메시지가 받고 있어요 신속한.

-- found boost includes in C:/boost/boost_1_47_0 
-- found boost libs in TMP-NOTFOUND 
-- found boost includes in C:/boost/boost_1_47_0 
-- found boost libs in TMP-NOTFOUND 
CMake Error at owbuild/FindBoost.cmake:569 (message): 
    Could not find Boost 
Call Stack (most recent call first): 
    libs/3rdparty/boost/CMakeLists.txt:10 (find_package) 


-- Configuring incomplete, errors occurred! 

어떻게 명령 프롬프트를 & cmake를 사용하여 부스트 libs와를 포함 할 수 있습니다?

첨부 파일 :FindBoost.cmake CMakeLists.txt

답변

1

나는 당신이 환경 변수로 뭘 하려는지 모르겠어요. CMake는 env 변수를 읽고 cmake 변수를 설정하도록 CMakeLists.txt을 설정하지 않는 한 환경 변수에서 변수를 설정하지 않습니다. 그것은 가능하지만 그 점을 보지 못합니다.

난 당신이 -Dvariable=value으로 cmake 명령 행에서 변수를 설정하려는 생각 :

cmake .. -DCMAKE_BUILD_TYPE=Release -G "NMake Makefiles" -DBoost_NO_SYSTEM_PATHS=TRUE -DBOOST_INCLUDEDIR="C:\boost\boost_1_47_0" -DBOOST_LIBRARYDIR="C:\boost\boost_1_47_0\stage\lib" -DBoost_ADDITIONAL_VERSIONS="1.47.0"

그래도 문제가 해결되지 않으면도 검토 CMakeLists.txt - 그 변수는 서로 다른 값으로 설정 명령을 무시하고있다 라인 설정?

그 밖의 모든 것이 실패하면 FindBoost.cmake을 살펴보십시오. 특히 파일 상단의 주석을 살펴보십시오. 다양한 변수가 무엇을 설명합니다.

소스 : google, mailing list, 도움을 ml reply

+0

감사합니다. 귀하의 명령 줄 매개 변수를 시도했지만 헛된. 첫 번째 게시물의 Boost 폴더에있는 CMakeLists.txt를 첨부하고 있습니다. –

+0

@MithunJohnJacob - 당신의'FindBoost.cmake'와 내 광산 (CMake 2.8.5)의 저작권 라인으로 판단 할 때, 여러분의 버전은 2006 년과 2009 년 사이의 공식 CMake 버전에서 갈라졌습니다. 버전 CMake 함께 제공됩니다. 'Program Files/CMake'의 어딘가에, 아마도'Modules'라는 폴더에 있어야합니다. ** 편집 : ** 또한 CMake의 최신 버전을 사용하고 있지 않다면 업그레이드 할 것입니다. 내 FindBoost.cmake의 주석에서 새로운 버전의 boost가 자주 해당 파일을 손상시킵니다. – Mark

+0

도움 주셔서 감사합니다. 내가 언급 한 단계를 시도해 보도록하겠습니다. –

관련 문제