我正在尝试在 VS2010 的 VC++ 项目中使用oncrpc-windows项目。oncrpc 在svc.h文件中导出函数,不带任何参数,但实际上函数有参数。比如头文件导出
#define DllExport __declspec( dllexport )
...
DllExport SVCXPRT *svcudp_create();
但实现文件包含
SVCXPRT * svcudp_create(sock)
int sock;
{
return(svcudp_bufcreate(sock, UDPMSGSIZE, UDPMSGSIZE));
}
如果我尝试创建使用导出函数的 C 文件,那么一切正常,代码编译成功。问题是我不能在我的 CPP 代码中使用导出的函数,编译器停止并显示以下消息
错误 C2660:“svcudp_create”:函数不接受 1 个参数
我尝试使用extern "C"
,但它没有帮助。我想知道如何在我的 VC++ 项目中使用导出的函数?真的需要用正确的签名编写自己的头文件吗?