未解决的外部符号错误:无法解决

时间:2012-02-22 11:11:18

标签: c++

编译代码时,我遇到了未解决的外部符号错误。我正在使用第三方库。所以在编译代码时使用第三方库命名空间。

  

std_uss.obj:错误LNK2019:函数“__declspec(dllimport) void __cdecl os_std::os_throw_length_error(void)”中引用的未解析的外部符号“__imp_?os_throw_length_error@os_std@@YAXXZ”(private: char * __thiscall os_std::basic_string<char,class os_std::char_traits_char,class os_std::allocator<char> >::allocate(unsigned int))(?allocate@?$basic_string@DVchar_traits_char@os_std@@V?$allocator@D@2@@os_std@@AAEPADI@Z

我在第三部分库的一个文件中找到了os_throw_length_error函数,但在代码中没有找到类似于:: allocator的任何函数。我没有使用标准的std命名空间,因为我希望编译器使用第三方命名空间。

如果我使用标准的using namespace std,那么我的编译成功,但是像字符串这样的定义被引用到visual studio字符串而不是第三方字符串函数。

1 个答案:

答案 0 :(得分:0)

您需要将第三方DLL的导入库(.lib文件)添加到项目中。在Visual Studio中,它将位于项目属性中的“链接器/输入/附加依赖”