を見つけることができません。 -lboost_unit_test_framework
は共有ライブラリを使用します。ブーストユニットテストフレームワークは、主な機能私は、この最小限のユニットテストを持っている
私はこのライブラリを以前に使っていましたが、私が定義したいくつかのBOOST_AUTO_TEST_CASE
を自動的に実行していたので、主な関数を自分自身で宣言する必要はありません。
私は間違っていますか?
を見つけることができません。 -lboost_unit_test_framework
は共有ライブラリを使用します。ブーストユニットテストフレームワークは、主な機能私は、この最小限のユニットテストを持っている
私はこのライブラリを以前に使っていましたが、私が定義したいくつかのBOOST_AUTO_TEST_CASE
を自動的に実行していたので、主な関数を自分自身で宣言する必要はありません。
私は間違っていますか?
Boost.Testを動的にリンクする場合、BOOST_TEST_DYN_LINK
(see boost docs here)を定義する必要があります。
また、boost_test_exec_monitor
にリンクする必要があります。
また、すべての構成マクロは、ライブラリヘッダーを組み込む前に定義する必要があります。
@ melak47もあります。私は、次のことがあまりにも、動作するはずと信じて:あなたが一緒にこのような複数のモジュールをリンクした場合
#define BOOST_TEST_MODULE my_tests TestSuites // to define main()
#include <boost/test/unit_test.hpp>
struct Color{};
BOOST_AUTO_TEST_SUITE(MyColorTests)
BOOST_AUTO_TEST_CASE(color_test)
{
BOOST_CHECK(std::is_pod<Color>());
}
BOOST_AUTO_TEST_SUITE_END()
は、BOOST_TEST_MODULE
のみインクルードが含ま前に、それらのいずれかで定義されていることを確認します。
'BOOST_TEST_MODULE'定義はインクルードの前にあります。 Boostはそれを検出して、あなたのために主要な機能を生成します。 – melak47
@ melak47残念ながらそれはどちらもうまくいきません – hgiesel
ああ、あなたは 'libboost_test_exec_monitor.a'も見逃しています! :) – melak47