swc*_*aft 15 c c++ visual-studio-2010 visual-c++
我试图在Visual Studio 2010专业版中编译旧的cpp MFC项目.
它使用使用Labview编译的dll,我正在添加此信息,因为我不知道导致错误消息的原因.
错误消息显示在多个功能上,所有相同的错误类型.
error C2733: second C linkage of overloaded function 'function name' not allowed.
Run Code Online (Sandbox Code Playgroud)
'function name'包括:'StrCatW','StrCmpNW','StrCmpW','StrCpyNW'和'StrCpyW'
我在网上发现了类似的案例.
虽然在我的情况下链接中的建议没有解决,我仍然看到相同的错误消息.
提前感谢任何想要帮助的人.
ana*_*lyg 17
我没有MFC的经验,无论如何我会试着回答.当extern "C"使用不同的参数集声明函数时,会出现此类错误消息.例如:
extern "C" int myfunc(int);
extern "C" int myfunc(char);
Run Code Online (Sandbox Code Playgroud)
在您的情况下,这两个声明可能与以下内容有关char*:
extern "C" char* StrCatW(char*, char*);
extern "C" wchar_t* StrCatW(wchar_t*, wchar_t*);
Run Code Online (Sandbox Code Playgroud)
试着在你的解决方案关闭Unicode支持:我想,如果DLL是真的老了,它在某种程度上声明StrCatW与char*论点,与其他一些申报冲突.
如果这没有帮助,打开预处理输出(/E编译器开关,据我记忆) - 它将输出一个非常大的文件,所以StrCatW在它中查找,也许它会给你一些关于发生了什么的线索.
| 归档时间: |
|
| 查看次数: |
27913 次 |
| 最近记录: |