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

时间:2016-05-07 14:29:01

标签: c++ visual-studio-2010

我试图将VS2010中的静态库链接到我的.dll,由于某种原因,它无法解析所需的符号。我已经像任何图书馆一样添加了库,但仍然没有去。我也完全按照应有的方式调用这些符号,我正在复制其他人的实施方式,因为它们可能会出错。我可能会错过某种设置吗?我已经完成了一个lib.exe / dumpall,一切看起来都是有序的。非常令人沮丧。

1 个答案:

答案 0 :(得分:2)

在检查了库的链接之后,我看到源代码都是C源文件,并且没有一个头文件具有extern "C"的函数声明。

这意味着如果将头文件包含到项目中,函数声明将具有mangled names,名称(符号)不再与库中的名称(符号)匹配。

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