我的程序是MFC做的一个简单的对话框,用了一些自己做的lib。
编译32位程序没有问题,但是编译64位时出现了下面的链接错误
error LNK2005: Polygon already defined in gdi32.lib(GDI32.dll)Polygon是自己做的某个库的一个函数。
我不明白32位的没有冲突,64位的为什么会冲突。是工程哪里没设置对吗?
c++dll
编译32位程序没有问题,但是编译64位时出现了下面的链接错误
error LNK2005: Polygon already defined in gdi32.lib(GDI32.dll)Polygon是自己做的某个库的一个函数。
我不明白32位的没有冲突,64位的为什么会冲突。是工程哪里没设置对吗?
c++dll
单独编译64位的库是没有问题的,一切正常,
编译exe程序就出了函数名冲突
不用改函数名,给你的函数加个namespace作用域,这样就可以避免了,应该是系统的库已经定义了一个Polygon,所以和你自己写冲突了。
Polygon是用c语言写的,好像加不了namespace
不行,编译不通过namespace MyFunction
{
extern INT Polygon();
}error C2061: syntax error : identifier 'MyFunction'
error C2059: syntax error : ';'
error C2449: found '{' at file scope (missing function header?)
error C2059: syntax error : '}'网上查了,c++能用,c不行