DLL编写、error LNK2001:/LNK1120错误
对VC其实不怎么熟悉,碰到这种错误真的很头疼。
--------------------Configuration: Electric - Win32 Debug--------------------
Compiling...
Electric.cpp
Linking...
Electric.obj : error LNK2001: unresolved external symbol "int __cdecl EMVLIB_KernelInit(void)" (?EMVLIB_KernelInit@@YAHXZ)
Debug/Electric.dll : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
Electric.dll - 2 error(s), 0 warning(s)
错误的原因就是我引用了这么一个函数
EMVLIB_KernelInit();
而我已经申明了应用该函数所在的头文件。
#include "EmvLib_Api.h"
这是头文件中的函数原型:
intEMVLIB_KernelInit(void);
我就只是随便写在一个函数里面测试一下而已
void _stdcall closeSer(int port){唯一的区别就是引用的函数文件是C文件。
SerClose(port);
EMVLIB_KernelInit();
}
网上搜索了很多解决办法,但始终没有解决,来个高人指点下吧,头疼死了、 VC++?DLL
[解决办法]
#include "EmvLib_Api.h"
既然是C的,这样申明应是有问题
extern "C"
{
#include "EmvLib_Api.h"
}