C++ 编译boost::math';s性能测试应用程序

C++ 编译boost::math';s性能测试应用程序,c++,boost,build,C++,Boost,Build,是否有人成功编译了boost::math库的性能测试应用程序? 链接: 我尝试在目录中运行b2进行编译,但出现了很多错误(超过222000行) 前几行错误: 。/test/erf_data.ipp:6:74:错误:模板参数的数量错误(1,应该是2) 在../../../boost/math/tools/rational.hpp:13:0中包含的文件中, 从../../../boost/math/special_functions/log1p.hpp:18, 从../../../boost/mat

是否有人成功编译了boost::math库的性能测试应用程序? 链接:

我尝试在目录中运行b2进行编译,但出现了很多错误(超过222000行)

前几行错误:

。/test/erf_data.ipp:6:74:错误:模板参数的数量错误(1,应该是2)
在../../../boost/math/tools/rational.hpp:13:0中包含的文件中,
从../../../boost/math/special_functions/log1p.hpp:18,
从../../../boost/math/special_functions/gamma.hpp:35,
来自测试参数cpp:9:
../../boost/array.hpp:60:11:错误:为“模板类boost::array”提供
包含在test_erf.cpp:13:0中的文件中:
../test/erf_data.ipp:6:80:错误:模板参数1无效
../test/erf_data.ipp:6:91:错误:“=”标记之前的声明中的类型无效
../test/erf_data.ipp:7:38:错误:“SC_”未在此范围内声明
../test/erf_data.ipp:7:88:错误:“SC_”未在此范围内声明
包含在test_erf.cpp:13:0中的文件中:
../test/erf_data.ipp:7:136:错误:“SC_”未在此范围内声明

好吧,我让它正确编译和链接,但它不是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的程序


希望这有帮助。

您至少可以提供错误。@StackUnderflow,但超过200000行。提供前10-20行错误如何?@Deqing完成。任何想要回答这个问题的人都需要尝试编译它。我收到的错误消息可能一点用处都没有。如果我回答“可能”,我应该得到赏金,但我会被否决。。。(>我可以得到CGED..……但是,什么是代码> Bug < /Cube >?它是从C++编译器中的一部分,是你开发的什么操作系统?Linux?所以打字构建不起作用?也许这就是为什么你的原代码不起作用,也许你没有编译器?好的,所以在构建文件中,在你运行“cGu..…”之后。在build内部,是否创建了一些包含MakeFile的文件?@ggg哦,非常抱歉,这应该是make not build,dam我是个白痴,正在更改答案。明白了吗
/usr/bin/ld:找不到-lboost\u regex