是什么原因阻止我将VS2010中的静态库正确链接到我的.dll

What are the reasons stopping me from correctly linking a static library in VS2010 to my .dll

本文关键字:链接 dll 我的 静态 阻止我 VS2010 是什么      更新时间:2023-10-16

我正试图将VS2010中的一个静态库链接到我的.dll,但由于某种原因,它无法解析所需的符号。我已经像添加任何库一样添加了库,但仍然没有成功。我也在准确地调用符号,我在复制其他人的实现,这样它们就不会出错。是不是我错过了某种背景?我做了一个lib.exe/dumpall,一切看起来都很正常。非常令人沮丧。

检查到库的链接后,我发现源文件都是C源文件,并且没有一个标头具有函数声明的extern "C"

这意味着,如果将头文件包含在项目中,函数声明的名称将被破坏,名称(符号)将不再与库中的名称匹配。

您应该声明自己与extern "C"一起使用的函数,或者用extern "C" { ... }包装头文件的包含。