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がインストールされていることを前提としています。(簡単にできます。drgoogleに聞いてください。)

あなたが数学のテストの場所に行く場合:

~/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 に答える