1


0

BOOST_AUTO_TEST_SUITE_END()行の例外エラー

先生からのブーストテストに問題があります。 プロジェクトをデバッグしているときに、次の行でエラーが発生します。

    BOOST_AUTO_TEST_SUITE_END()

例外は次のとおりです。

homework2.exeの0x7521b727(KernelBase.dll):0xC0020001:文字列バインディングが無効です。

Visual Studio 2010 UltimateとWin7 Professional(すべての更新プログラムを使用)を使用しています。例外がスローされたときにゾンビコンソールウィンドウが表示されるため、このバグは非常に迷惑です。

私の英語でごめんなさい;)

編集:私のテストコード

#define BOOST_TEST_MAIN
#define BOOST_TEST_DYN_LINK
#include
#include

BOOST_AUTO_TEST_SUITE( easy_stringtest)

BOOST_AUTO_TEST_CASE( length_test)
{
    std::string s("xyz");
    BOOST_CHECK(s.length() ==3);
}

BOOST_AUTO_TEST_CASE( same)
{
    std::string s("abc");

    BOOST_CHECK(s == "abc");
}


BOOST_AUTO_TEST_SUITE_END()

編集:私は私のせいでした…​ IDEオプション/ clrがオンになりました。オフにするとエラーは発生しません:D

1 Answer


0


インクルードを変​​更しました。私の先生は、問題は私のバイナリにあると私に言った。

他の誰かが同じ問題を抱えている場合*ここに解決策があります:*

新しいコード

#define BOOST_TEST_MAIN
#include
#include

BOOST_AUTO_TEST_SUITE( easy_stringtest)

BOOST_AUTO_TEST_CASE( length_test)
{
    std::string s("xyz");
    BOOST_CHECK(s.length() ==3);
}

BOOST_AUTO_TEST_CASE( same)
{
    std::string s("abc");

    BOOST_CHECK(s == "abc");
}


BOOST_AUTO_TEST_SUITE_END()