2017-02-28 119 views
0

我试图使用英特尔编译器在Visual Studio 2010中安装mlpack,我下面这个链接 - https://keon.io/mlpack/mlpack-on-windows/CMake的找不到Boost库目录

我试图运行某些CMake的命令,并将其与错误而失败 -

C:\projects\mlpack-2.1.1\build> cmake -G "Visual Studio 10 2010 Win64" -T"Intel C++ compiler XE 14.0" 
-DBLAS_LIBRARY:FILEPATH="C:/projects/mlpack-.1.1/packages/OpenBLAS.0.2.14.1/lib/naive/lib/x64/libopenblas.dll.a" 
-DLAPACK_LIBRARY:FILEPATH="C:/projects/mlpack-.1.1/packages/OpenBLAS.0.2.14.1/lib/ative/lib/x64/libopenblas.dll.a" 
-DARMADILLO_INCLUDE_DIR="C:/projects/armadillo-.800.1/include" 
-DARMADILLO_LIBRARY:FILEPATH="C:/projects/armadillo-.800.1/build/Debug/armadillo.lib" 
-DBOOST_INCLUDEDIR:PATH="C:\projects\mlpack-2.1.1\packages\boost.1.63.0.0\lib\native\include" 
-DBOOST_LIBRARYDIR:PATH="C:\projects\mlpack-2.1.1\packages\boost_libs" -DDEBUG=OFF -PROFILE=OFF .. 


Unable to find the requested Boost libraries. 
Boost version: 1.63.0 
Boost include path: 
C:/projects/mlpack-2.1.1/packages/boost.1.63.0.0/lib/native/include 

Could not find the following Boost libraries: 

     boost_program_options 
     boost_unit_test_framework 
     boost_serialization 

No Boost libraries were found. You may need to set BOOST_LIBRARYDIR to the 
directory containing Boost libraries or BOOST_ROOT to the location of 
Boost. 
Call Stack (most recent call first): 
CMakeLists.txt:279 (find_package) 

但是,目录C:\projects\mlpack-2.1.1\packages\boost_libs拥有所有需要的库

的CMakeLists.txt有这个线279

set(Boost_ADDITIONAL_VERSIONS 
"1.49.0" "1.50.0" "1.51.0" "1.52.0" "1.53.0" "1.54.0" "1.55.0" "1.63.0") 
find_package(Boost 1.49 #Line 279 
    COMPONENTS 
    program_options 
    unit_test_framework 
    serialization 
    REQUIRED 
) 

我把279行改为find_package(Boost 1.49但没用。 我也尝试将'\'更改为'/',反之亦然。什么可能是错误?

+0

'什么可能是错误?' - 您的Boost库与生成器'Visual Studio 10 2010 Win64'不兼容。 – Tsyvarev

+0

我正在使用英特尔编译器! – Sashank

+1

将选项'-DBoost_DEBUG = on'传递给'cmake',并查看实际搜索的库文件。然后将这些文件与您的文件进行比较。 – Tsyvarev

回答

0

错误在于您的CMake版本不支持Boost 1.63。

在CMake 3.7.2中引入了对Boost 1.63的支持;更新CMake,你会没事的。