3

ブーストが必要なmlpack ( http://www.mlpack.org/ ) をコンパイルしようとしています。まず、boostpro 1.51 ( http://www.boostpro.com/download/ ) をインストールしました。これで、Boost が C:\Program Files\boost\boost_1_51 にインストールされました。

次に、cmake と mingw32-make を使用して armadillo (mlpack の別の依存関係) をコンパイルしてインストールしました。Boost も armadillo の依存関係です。いくつかのアドバイスに従って ( Cmake は Boost を見つけられません)、CMakeLists ファイルに追加しました。

SET(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} "C:\\Program Files\\boost\\boost_1_51")
SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} "C:\\Program Files\\boost\\boost_1_51\\lib")

物事は順調に進みました。

今、mlpack で CMake を実行しようとしていますが、次のエラーが発生します。

C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/FindBoos t.cmake:1192 (メッセージ) での CMake エラー: 要求された Boost ライブラリが見つかりません。

ブースト バージョン: 1.51.0

ブースト インクルード パス: C:/Program Files/boost/boost_1_51

次の Boost ライブラリが見つかりませんでした:

     boost_program_options
     boost_unit_test_framework

Boost ライブラリが見つかりませんでした。BOOST_LIBRARYDIR を Boost ライブラリを含むディレクトリに設定するか、BOOST_ROOT を Boost の場所に設定する必要がある場合があります。コール スタック (最新のコールが最初): CMakeLists.txt:192 (find_package)

(アルマジロのように)追加しようとしましたが、改善はありません:

SET(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} "C:\\Program Files\\boost\\boost_1_51")
SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} "C:\\Program Files\\boost\\boost_1_51\\lib")

それから私も追加しようとしました:

set(BOOST_ROOT "C:\\Program Files\\boost\\boost_1_51")
set(BOOST_INCLUDEDIR "C:\\Program Files\\boost\\boost_1_51")
set(BOOST_LIBRARYDIR "C:\\Program Files\\boost\\boost_1_51\\lib")

BOOST_INCLUDEDIR については、どのフォルダーを指定すればよいかわかりません。boost_1_51 の内容: bin、boost、dist、doc、lib、libs など

私もこれを試しました(cmakeは間違ったcboostライブラリを使用しています)、成功しませんでした。

アルマジロが問題なくコンパイルされたように見えたので、私も少し混乱しています(または何かを見逃していましたか?)

どうもありがとう

注: cmakelists ファイルの内容:

#Unfortunately this configuration variable is necessary and will need to be
#updated as time goes on and new versions are released.
set(Boost_ADDITIONAL_VERSIONS "1.41" "1.41.0" "1.42" "1.42.0" "1.43" "1.43.0" "1.44" "1.44.0" "1.45.0" "1.46.0" "1.46.1" "1.47.0" "1.48.0" "1.49.0" "1.51.0")
find_package(Boost
    COMPONENTS
      program_options
      unit_test_framework
    REQUIRED
)
include_directories(${Boost_INCLUDE_DIRS})

1.51.0 を自分で追加しました。


別の投稿 ( CMake が Boost を見つけられない )から私が理解したことから、これは正しい名前のライブラリが見つからないことに関連している可能性があります。私のlibフォルダーには(dllおよびlibファイル)があります:

boost_program_options-vc80-mt-1_51.dll
boost_program_options-vc80-mt-gd-1_51.dll
boost_program_options-vc100-mt-1_51.dll
boost_program_options-vc100-mt-gd-1_51.dll

どういうわけか、次のようなコマンドで遊ぶことになっています

set(Boost_USE_MULTITHREADED ON)

予想される名前のlibを探すように????

4

0 に答える 0