error C2059: syntax error

来源:互联网 发布:windows 10技巧 编辑:程序博客网 时间:2024/05/06 21:27

之前用Qt+mingw写了个DLL,最近有需求matlab想调用这个DLL。于是就想用Qt+MSVC重新编译一下。原因吗,当然是Matlab2009版不支持使用Mingw来编译mex文件,导致不能调用mingw编译出来的DLL。

用MSVC编译之后,出现了以下错误

“error C2059: syntax error : ‘;’”

跳转过去发现错误代码如下:

int _stdcall (*dllfunc)(HANDLE, LPVOID, DWORD,DWORD*, OVERLAPPED*);dllfunc = (int(MY_STDCALL *)(HANDLE, LPVOID, DWORD,DWORD*, OVERLAPPED*))GetProcAddress(m_hLibrary, "SI_Read");status = dllfunc(Handle, Buffer, NumBytesToRead, NumBytesReturned, o);

把_stdcall去掉就没有错误了。

但是原始DLL中SI_Read定义是带有_stdcall的,所以有点担心

0 0