【发布时间】:2011-12-12 00:24:03
【问题描述】:
我正在尝试在 Visual Studio 2010 pro 中编译旧的 cpp MFC 项目。
它使用使用 Labview 编译的 dll,我正在添加此信息,因为我不知道是什么导致了错误消息..
错误消息显示在多个函数上,所有错误类型都相同。
error C2733: second C linkage of overloaded function 'function name' not allowed.
“函数名”包括:“StrCatW”、“StrCmpNW”、“StrCmpW”、“StrCpyNW”和“StrCpyW”
我在网上找到了similar case。
虽然链接中的建议在我的情况下没有解决,但我仍然看到相同的错误消息。
提前感谢任何试图提供帮助的人。
【问题讨论】:
-
看起来像函数
StrCatW, 'StrCmpNW, etc. are either linked more than once or they are include in more than one file *without* being declared asinline`。 -
@ThomasMatthews 这个错误并不是说同一个函数有多个定义,而是说有多个同名的重载。在这种情况下的问题是,由于 C 链接,名称修饰被禁用,并且您不能必须使用完全相同名称的符号来引用不同的函数。
标签: c++ c visual-studio-2010 visual-c++