未解决的外部符号

时间:2011-08-23 16:16:20

标签: c++ visual-studio-2010 visual-c++ linker unresolved-external

帮帮我们, 我一直在寻找很长时间。

我正在使用visual studio 2010,我试图包含一个外部lib,但是我得到了一个未解决的外部错误。

外部项目按以下方式由文件组成

backend.cpp
//some functions 
frontend.cpp
//some functions
header.h

我使用SCons构建这个项目然后我在项目中包含.lib文件并引用它的路径,我将.h文件复制到msvc目录。

VS似乎访问并读取backend.cpp中的函数(来自自动完成)但是当我运行项目时它表示有一个未解析的外部@被调用的函数

2 个答案:

答案 0 :(得分:2)

我不是Visual Studio专家,但我想能够自动完成代码与找到源代码的标题相关联。

未解析的外部意味着编译器无法在链接过程中找到目标文件。这可能意味着您无法正确添加lib文件,或者您缺少某些.cpp文件。

答案 1 :(得分:1)

这可能由于各种原因而发生。但所有这些都最终成为以下之一:

  • 您没有链接正确的.lib文件。
  • 您在程序中使用的符号名称与.lib中提供的名称不同。

第一个很容易检查,所以请仔细检查一下。

第二个比较棘手。程序中使用的符号名称将在错误消息“未解析的外部符号 abc ”或其他内容中输出。可以使用以下命令列出库中可用的符号:dumpbin /all name.lib

如果找不到问题,请发布您获得的确切错误以及dumpbin程序的输出。