我有来自第三方的静态库和标题。这些函数在标题中声明为extern "C"
,它们将在库中导出 - 我使用dumpbin /exports library.lib
进行了检查。
尝试使用库时,我包含了标题,并将库添加到Linker-> Input。代码编译,但它没有链接,因为链接器需要为库中定义的函数添加额外的下划线。例如,如果在标题中我有:
extern "C"
{
int serialInit();
}
dumpbin
告诉我:
Exports
ordinal name
6 serialInit
并且链接器给了我:
error LNK2019: unresolved external symbol _serialInit referenced in function _main
你知道为什么Visual Studio期望在函数名中加上额外的下划线吗?关于如何解决这个问题的任何想法?