新建了一各dll工程,工程名为"Server",Server.h内容如下:
#ifdef MY_SERVER_API#else
#define MY_SERVER_API extern "C" __declspec(dllimport)
#endif
MY_SERVER_API void SaySomething();然后Server.cpp中相关内容如下:#define MY_SERVER_API __declspec(dllexport)
#include "Server.h"MY_SERVER_API void SaySomething()
{
printf("mom you always were the perfect fan");
}然后把生成的Server.lib和Server.dll全拷到了调用工程的工程目录下,且在调用工程中#include "Server.h",但一调用SaySometing方法,还是链接不成功!!unresolved external symbol "__declspec(dllimport) void __cdecl SaySomething(void)" (__imp_?SaySomething@@YAXXZ)
究竟那里出问题了?困扰很久了,希望这次能得到解决!
#ifdef MY_SERVER_API#else
#define MY_SERVER_API extern "C" __declspec(dllimport)
#endif
MY_SERVER_API void SaySomething();然后Server.cpp中相关内容如下:#define MY_SERVER_API __declspec(dllexport)
#include "Server.h"MY_SERVER_API void SaySomething()
{
printf("mom you always were the perfect fan");
}然后把生成的Server.lib和Server.dll全拷到了调用工程的工程目录下,且在调用工程中#include "Server.h",但一调用SaySometing方法,还是链接不成功!!unresolved external symbol "__declspec(dllimport) void __cdecl SaySomething(void)" (__imp_?SaySomething@@YAXXZ)
究竟那里出问题了?困扰很久了,希望这次能得到解决!
#pragma comment( lib, "Server.lib" )或项目的链接库里添加Server.lib
#pragma comment(lib, "server.lib")
1、把头文件中的 extern "C" 去掉
2、强制使用 stdcall 调用约定,例如可以在函数的申明和定义处加上 WINAPI 宏