DLL编写、error LNK2001:/LNK1120错误

绝世酱油瓶 2013-11-06 03:56:58
对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"

这是头文件中的函数原型:
int	EMVLIB_KernelInit(void); 

我就只是随便写在一个函数里面测试一下而已
void _stdcall closeSer(int port){
SerClose(port);

EMVLIB_KernelInit();
}
唯一的区别就是引用的函数文件是C文件。
网上搜索了很多解决办法,但始终没有解决,来个高人指点下吧,头疼死了、
...全文
235 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
worldy 2013-11-07
  • 打赏
  • 举报
回复
没有这样改过,有干劲你就试试呗!因为名字经过编译后C的函数名和C++的函数名是不一样的,所以要指明 extern "c"指明对应的引用的函数名必须按c编译
绝世酱油瓶 2013-11-07
  • 打赏
  • 举报
回复
引用 5 楼 worldy 的回复:
[quote=引用 4 楼 Java_Devil 的回复:] [quote=引用 2 楼 worldy 的回复:] #include "EmvLib_Api.h" 既然是C的,这样申明应是有问题 extern "C" { #include "EmvLib_Api.h" }
原来如此。。。。C原来和VC差异这么多,那我能否直接将那些.c后缀的文件修改成cpp?[/quote] EmvLib_Api.dll是你自己写的?[/quote]我引用的不是dll,就是一些.c和.h文件。不是我自己写的,有好几十个呢。
worldy 2013-11-07
  • 打赏
  • 举报
回复
引用 4 楼 Java_Devil 的回复:
[quote=引用 2 楼 worldy 的回复:] #include "EmvLib_Api.h" 既然是C的,这样申明应是有问题 extern "C" { #include "EmvLib_Api.h" }
原来如此。。。。C原来和VC差异这么多,那我能否直接将那些.c后缀的文件修改成cpp?[/quote] EmvLib_Api.dll是你自己写的?
绝世酱油瓶 2013-11-07
  • 打赏
  • 举报
回复
引用 2 楼 worldy 的回复:
#include "EmvLib_Api.h" 既然是C的,这样申明应是有问题 extern "C" { #include "EmvLib_Api.h" }
原来如此。。。。C原来和VC差异这么多,那我能否直接将那些.c后缀的文件修改成cpp?
encoderlee 2013-11-06
  • 打赏
  • 举报
回复
这个错误是说这个函数只有声明,没有定义(实现) EmvLib_Api.h这个文件有对应的.cpp吗? 没有的话它里面的函数是从dll导出的吗? 它有对应的导入库文件EmvLib_Api.lib和动态库文件EmvLib_Api.dll吗?
worldy 2013-11-06
  • 打赏
  • 举报
回复
#include "EmvLib_Api.h" 既然是C的,这样申明应是有问题 extern "C" { #include "EmvLib_Api.h" }
Luisfan 2013-11-06
  • 打赏
  • 举报
回复
你好像没有函数的实现..

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧