编译boost :: math的性能测试应用程序

时间:2012-07-31 14:23:10

标签: c++ boost build

有没有人成功编译了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

1 个答案:

答案 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的程序。

希望这有帮助。