我想调试一个DLL。此 DLL 导出一些函数和 void:
这是标题:
#ifdef CODEC_EXPORTS
#define CODEC_API __declspec(dllexport)
#else
#define CODEC_API __declspec(dllimport)
#endif
extern "C" CODEC_API int __stdcall SpxInit(void);
extern "C" CODEC_API int __stdcall SpxEncode(unsigned char* inBuf, unsigned char* outBuf, unsigned int inlen);
extern "C" CODEC_API int __stdcall SpxEncodeNormal(void);
extern "C" CODEC_API int __stdcall SpxDecode(unsigned char* DinBuf, float* DoutBuf, unsigned int Dinlen);
extern "C" CODEC_API int __stdcall SpxFree(void);
#pragma comment(linker, "/export:SpxEncode=_SpxEncode@12")
#pragma comment(linker, "/export:SpxEncodeNormal=_SpxEncodeNormal@0")
#pragma comment(linker, "/export:SpxDecode=_SpxDecode@12")
#pragma comment(linker, "/export:SpxInit=_SpxInit@0")
#pragma comment(linker, "/export:SpxFree=_SpxFree@0")
我在我的解决方案中添加了一个新项目,并简单地添加了以下 cpp 文件:
#include "stdafx.h"
#include "codec.h"
int _tmain(int argc, _TCHAR* argv[])
{
return 0;
}
现在在尝试其他任何事情之前,我只是想编译新项目,但 VC2010 告诉我
"error LNK2001" Unresolved external symbol "_SpxDecode@12"
"error LNK2001" Unresolved external symbol "_SpxEncode@12"
ETC...
所以我想我错过了一些东西,但我没有看到什么。