Ошибка связывания при использовании Visual Studio 2005(VC8)

Я получаю кучу ошибок связывания при попытке связать выпускную версию исполняемого файла (отладочная версия не имеет той же проблемы). Сравнение командной строки для ссылки не выявляет никаких проблем. Есть в общем 2 типа ошибок, ни один из которых я не могу справиться.

Первый вид жалуется на неразрешенный внешний символ _declspec (dllimport). Например: ошибка LNK2019: неразрешенный внешний символ "_declspec(dllimport) public: __thiscall stlpd_std::basic_string, класс stlpd_std::allocator >::basic_string, класс stlpd_st::allocator >(класс stlpd_std::basic_string, класс stlpd_std:: allocator> const &) "(_imp?? 0? $ basic_string@DV?$ char_traits@D@stlpd_std@@V?$ allocator@D@2@@stlpd_std@@QAE@ABV01@@Z) ссылка на функцию "public: __thiscall Springfield::generic::runtime_error::runtime_error(класс stlpd_std::basic_string, класс stlpd_std::allocator > const &)" (??0runtime_error@generic) @ Спрингфилд @@QAE@ABV?$basic_string@DV?$char_traits@D@stlpd_std@@V?$ распределитель @D@2@@stlpd_std@@@Z)

для более удобочитаемой версии (замена всех строк): ошибка LNK2019: неразрешенный внешний символ "__declspec(dllimport) public: __thiscall string::basic_string, класс stlpd_std::allocator >(класс строки const &)" (_imp?? 0? $ Basic_string@DV?$ Char_traits@D@stlpd_std@@V?$ Allocator@D@2@@stlpd_std@@QAE@ABV01@@Z) ссылка на функцию "public: __thiscall Springfield::generic::runtime_error::runtime_error(строка класса const &)" (??0runtime_error@generic@Springfield@@QAE@ABV?$basic_string@DV?$char_traits@D@stlpd_std@@V?$allocator@D@2@@stlpd_std@@@Z

Класс ошибок sceond жалуется на неразрешенный внешний символ __CrtDbgReportW

Я надеюсь, что смогу понять, как с этим справиться.

2 ответа

Решение

Судя по ошибкам, вы не включили CRT в качестве одной из ваших связанных библиотек. Вот ссылка на различные библиотеки CRT, предлагаемые в Visual Studio 2005. Выберите тот, который наиболее подходит, и убедитесь, что он находится в списке библиотек для ссылки

Похоже, вы либо включаете файл, созданный с использованием параметров отладки, либо смешиваете библиотеки времени выполнения (DLL и статические).

Другие вопросы по тегам