有没有人成功编译了boost :: math库的性能测试应用程序? 链接:http://www.boost.org/doc/libs/1_50_0/libs/math/doc/sf_and_dist/html/math_toolkit/perf/perf_test_app.html
我尝试通过在目录中运行b2进行编译,并且存在大量错误(超过222000行)。
前几行错误:
../test/erf_data.ipp:6:74: error: wrong number of template arguments (1, should be 2)
In file included from ../../../boost/math/tools/rational.hpp:13:0,
from ../../../boost/math/special_functions/log1p.hpp:18,
from ../../../boost/math/special_functions/gamma.hpp:35,
from test_erf.cpp:9:
../../../boost/array.hpp:60:11: error: provided for ‘template<class T, long unsigned int N> class boost::array’
In file included from test_erf.cpp:13:0:
../test/erf_data.ipp:6:80: error: template argument 1 is invalid
../test/erf_data.ipp:6:91: error: invalid type in declaration before ‘=’ token
../test/erf_data.ipp:7:38: error: ‘SC_’ was not declared in this scope
../test/erf_data.ipp:7:88: error: ‘SC_’ was not declared in this scope
In file included from test_erf.cpp:13:0:
../test/erf_data.ipp:7:136: error: ‘SC_’ was not declared in this scope
答案 0 :(得分:1)
好吧,我得到了正确的编译和链接,但它不是b2。我知道OP要求b2,但我不熟悉它,所以我提供了另一种选择。此解决方案假定您已安装Cmake。 (很容易做到,只要问谷歌博士。)
如果你去数学测试地点:
~/pathToBoost/libs/math/performance
并添加一个名为:
的文件CMakeLists.txt
包含以下内容:
cmake_minimum_required(VERSION 2.8)
find_package(Boost COMPONENTS REQUIRED)
include_directories(${DEPENDENCY_DIR}/libboost/lib)
add_executable(main main.cpp test_reference.cpp)
target_link_libraries (main ${Boost_LIBRARIES} boost_regex)
然后你创建一个名为build的文件夹:
mkdir build
建立它。
cd build
cmake ..
make
这样做让我成功编译和构建。我得到一个名为main的程序。
希望这有帮助。