0

帮帮我,我已经找了很久了。

我正在使用 Visual Studio 2010,我试图包含一个外部库,但我得到一个未解决的外部错误。

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

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

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

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

4

2 回答 2

2

我不是 Visual Studio 专家,但我想它能够自动完成您的代码与它找到源代码的标头有关。

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

于 2011-08-23T16:21:42.793 回答
1

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

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

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

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

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

于 2011-08-23T16:41:30.703 回答