0

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

1 回答 1

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

希望这可以帮助。

于 2012-08-05T23:03:38.080 回答