10

Boost Test を使用して、非常に必要な単体テストをコードに追加しようとしています。しかし、私はそれを機能させることができないようです。現在、次のコードがあります

#include <Drawing.h>
#define BOOST_AUTO_TEST_MAIN
#define BOOST_TEST_MODULE DrawingModelTests
#include <boost/test/unit_test.hpp>

BOOST_AUTO_TEST_SUITE(DrawingModelTests)

BOOST_AUTO_TEST_CASE ( DrawingConstructorTest)
{
    Drawing * drawing = new Drawing;

    delete drawing;
}

BOOST_AUTO_TEST_SUITE_END()

私が理解していることから、ブーストが自分で処理するので、メインなどを配置する必要はありません。ただし、Visual Studio は「エントリ ポイントを定義する必要があります」というエラーを表示し続けます。静的ライブラリなどへのリンクを手動で追加する必要がありますか? 標準の .exe コンソール アプリケーションとしてコンパイルしています。

4

5 に答える 5

19

/SUBSYSTEM:CONSOLE をリンカー フラグに追加します。プロジェクト設定では、これは Linker->System ページにあります。boost は、動的または静的ライブラリとして使用できます。

于 2010-03-19T20:34:40.993 に答える
10

私はVS2010でこの問題を抱えていました。解決策は、プロジェクトの「構成プロパティ->リンカー->詳細設定->エントリポイント」を「メイン」に設定することでした。

于 2011-07-22T12:14:10.087 に答える
1

私のコードは似ており、正常に動作します。私が見ることができる唯一の違いは、私がまったく定義BOOST_AUTO_TEST_MAINしていないということです。私の知る限り、BOOST_TEST_MODULEどこを定義するかを教えてくれます。main

于 2010-01-15T04:34:47.843 に答える
0

最終的には、boost.test を静的ライブラリではなく動的ライブラリとして使用することで機能させることができました。

于 2010-01-24T02:35:34.827 に答える