我们有一个用 C(不是 cpp)编写的大型静态库,其中包含如下定义的函数:
StructThing* __cdecl DoSomething(); // in header
StructThing* __cdecl DoSomething() { ... } // in .C file
在我们基于 C 的产品中使用它一切正常,但我们已经开始转向这个名为 c++ 的新事物!
但是当我们尝试在 cpp 文件中使用 DoSomething 时,我们会在链接时得到未解决的外部符号错误。
看来 cpp 编译器正在寻找函数的修饰版本。
我们如何使 cpp 编译器可以使用符号(函数)?最好不更改源库(太多),我的第一个想法是通过 .def 文件,但静态库解决方案似乎忽略了它(不确定是否适用于那种 vs 项目)
但这应该很容易,我假设 Windows API 是这样编写的。
任何人 ?
VS 2012 更新 3
TIA