Ошибка исключения в строке BOOST_AUTO_TEST_SUITE_END () - PullRequest
1 голос
/ 06 ноября 2010

У меня проблема с буст-тестом моего учителя. Когда я отлаживаю свой проект, я получаю сообщение об ошибке в этой строке:

    BOOST_AUTO_TEST_SUITE_END()

Исключением являются следующие:

0x7521b727 (KernelBase.dll) в homework2.exe: 0xC0020001: недопустимая привязка строки.

Я использую Visual Studio 2010 Ultimate и Win7 Professional (со всеми обновлениями). Эта ошибка очень раздражает, потому что я получаю окно консоли Zombie, когда выдается исключение.

извините за мой английский;)

Редактировать: Мой тестовый код

#define BOOST_TEST_MAIN
#define BOOST_TEST_DYN_LINK
#include <boost/test/unit_test.hpp>
#include <string>

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 Option / clr был включен, выключите его, и у вас не будет ошибки: D

1 Ответ

0 голосов
/ 09 ноября 2010

Я изменил свое включение; мой учитель сказал мне, что проблема была с моими двоичными файлами.

Если у кого-то есть такая же проблема

Новый код:

#define BOOST_TEST_MAIN
#include <boost/test/included/unit_test.hpp>
#include <string>

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()
...