动态链接库函数导入问题

huangjie888333 2010-07-18 09:53:38
新建了一个动态链接库文件Dll1,里面有两个函数add subtract,在TestDll工程中添加导入了Dll1.lib文件,又把Dll1.dll文件复制到了TestDll文件夹下,编译时出现了如下错误提示

--------------------Configuration: DllTest - Win32 Debug--------------------
Linking...
DllTestDlg.obj : error LNK2001: unresolved external symbol "int __cdecl add(int,int)" (?add@@YAHHH@Z)
DllTestDlg.obj : error LNK2001: unresolved external symbol "int __cdecl subtract(int,int)" (?subtract@@YAHHH@Z)
Debug/DllTest.exe : fatal error LNK1120: 2 unresolved externals
应该是没导进去,不知道是什么原因,请高手指点,谢谢了!!!!
...全文
207 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
liujunqi67 2010-07-24
  • 打赏
  • 举报
回复
会不会是DLL里面的函数前面导出的标识extern "C" __declspec(dllexport)之类有问题?
lhuoshan 2010-07-22
  • 打赏
  • 举报
回复
:#pragma comment(lib,"Dll1.lib")


加入下这个就没问题了。。
wltg2001 2010-07-21
  • 打赏
  • 举报
回复
:#pragma comment(lib,"Dll1.lib.lib")
==========
上面多打了几个字,应该是:#pragma comment(lib,"Dll1.lib")
wltg2001 2010-07-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 binghuazh 的回复:]
你的动态库dll要放在运行程序的同一目录下啊,查一下你的dll 路径。
gl
[/Quote]
DLL路径如果不对的话,链接不会出错,而是执行错。
一个可能是的原因是LIB文件的路径不对,一个可能是没有加入:#pragma comment(lib,"Dll1.lib.lib")
还有一种可能是导出函数声明有问题。
wjb_yd 2010-07-21
  • 打赏
  • 举报
回复
这个很明显,你的工程属性中没有添加对应的lib
fishion 2010-07-18
  • 打赏
  • 举报
回复
路径没对,检查下
awperpvip 2010-07-18
  • 打赏
  • 举报
回复
结帖率:0.00%
自己检查一下
CloudmmFly 2010-07-18
  • 打赏
  • 举报
回复
在方案上点右键添加DLL工程,多个DLL模块最好不要耦合
blingpro 2010-07-18
  • 打赏
  • 举报
回复
你的动态库dll要放在运行程序的同一目录下啊,查一下你的dll 路径。
gl

15,473

社区成员

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

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