F:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\math.h(501) :
error C2732: linkage specification contradicts earlier specification for 'log'
F:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\math.h(501) :
see declaration of 'log'
F:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\xtgmath.h(104) :
error C2732: linkage specification contradicts earlier specification for 'log'
F:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\xtgmath.h(104) :
see declaration of 'log'
F:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\xlocale(337) : warning C4530:
C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc
程序里面没有声明和定义log函数,也没有使用math或xtgmath头文件。不知道为啥报错了。在我的头文件中GetDataFeed.h:
extern "C" void openConnect();
extern "C" void closeConnect();
源文件:
#include "GetDataFeed.h
void openConnect()
{
//....
}
void closeConnect()
{
//....
}
"
弄了一下午,就是搞不定,在math.h 中指向的那行为:
double __cdecl log(_In_ double _X);
在xtgmath.h指向的那行为:
_GENERIC_MATH1(log, _CRTDEFAULT)
1 个解决方案
#1
在要导出的函数前加上extern "C" _declspec(dllexport)
#1
在要导出的函数前加上extern "C" _declspec(dllexport)