动态链接库函数导入问题

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
应该是没导进去,不知道是什么原因,请高手指点,谢谢了!!!!
...全文
163 点赞 收藏 9
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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
回复
发帖
进程/线程/DLL
创建于2007-09-28

1.5w+

社区成员

VC/MFC 进程/线程/DLL
申请成为版主
帖子事件
创建了帖子
2010-07-18 09:53
社区公告
暂无公告