2011-10-27 2 views
1

co-brandQutecomとし、カスタマイズされたWindowsインストーラを作成します。VS 2008(コマンドライン)のBoostライブラリを含めるには

My PATH変数は、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" 

私は、Visual Studio 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

私はあなたが環境変数でやろうとしているかわかりません。 を設定してenv varsを読み込み、cmake varsをそれらから設定しない限り、CMakeは環境変数からその変数を設定しません。それは可能だが、私はその点を見ない。あなたのCMakeLists.txtを調べ、問題が解決しない場合は

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"

- あなたのコマンドを上書きし、別の何かに設定されているこれらの変数です:

私はあなたが-Dvariable=valueとcmakeのコマンドラインで変数を設定したいと思います行の設定?

それ以外の場合は、FindBoost.cmakeを参照してください。特に、ファイルの先頭にあるコメントを見てください。さまざまな変数が何をしているのかを説明しています。

ソース:googlemailing 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のコメントから、新しいバージョンのブーストは頻繁にそのファイルを壊します。 – Mark

+0

ご協力いただきありがとうございます。私があなたに言及した手順を試してみましょう。 –