2017-03-01 117 views
0

我想在vs2013中安装mlpack。 msvc2013不兼容,所以我使用的是英特尔C++编译器XE 14.0。但是,英特尔编译器没有找到boost库。英特尔编译器在visual studio中找不到boost库

只使用MSVC -

C:\projects\mlpack-2.1.1\build> cmake -G "Visual Studio 12 2013 Win64" .... 
-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" .. 

输出 -

.... 
Found the following Boost libraries: 
    program_options 
    unit_test_framework 
    serialization 
.... 

使用MSVC和英特尔工具 -

C:\projects\mlpack-2.1.1\build> cmake -G "Visual Studio 12 2013 Win64" -T"Intel C++ compiler XE 14.0" .... 
-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" .. 

输出 -

Could not find the following Boost libraries: 
     boost_program_options 
     boost_unit_test_framework 
     boost_serialization 

为什么英特尔无法找到?我使用NuGet包管理器安装了boost库。我应该为intel编译器使用其他一些boost库吗?

+0

在这两种情况下,我都看到相同的'BOOST_LIBRARYDIR'路径。该目录是否包含两组二进制文件?这些库由工具集标签标识,CMake搜索[取决于编译器的不同标签](https://github.com/Kitware/CMake/blob/master/Modules/FindBoost.cmake#L418)。 –

回答

1

目前,Boost NuGet软件包没有英特尔编译器的二进制文件。 Boost NuGet软件包仅包含Prebuilt windows binaries的二进制文件。将来,我很乐意在可以从一些可信资源下载新的二进制文件后立即添加。