VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 615|回复: 2

写了个DLL控件,编译时出现的.def文件中的问题?

[复制链接]

1

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-3-13 12:30:02 | 显示全部楼层 |阅读模式
Compiling...
UsbApi.cpp
Linking...
uniClient.def : error LNK2001: unresolved external symbol comm_CopyFile
Release/uniClient.lib : fatal error LNK1120: 1 unresolved externals
LINK : fatal error LNK1141: failure during build of exports file
Error executing link.exe.
Creating browse info file...

uniClient.dll - 3 error(s), 0 warning(s)

上面的错误中comm_CopyFile 函数根本没有用到,不知道为什么回出现这种提示,不明白.def文件的作用,如果把这个在.def文件中删除的话编译后就不能生成.dll,程序提示warning:
   Creating library Release/uniClient.lib and object Release/uniClient.exp
LINK : warning LNK4089: all references to "SHELL32.dll" discarded by /OPT:REF
怎么会这样呢?以前从来没遇到过这么LINK的错误?请个高手指点下小弟
回复

使用道具 举报

0

主题

4

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-6-8 23:30:01 | 显示全部楼层
.def文件一般用来指定DLL中导入函数的函数名和导出变量名的。
回复

使用道具 举报

0

主题

10

帖子

9.00

积分

新手上路

Rank: 1

积分
9.00
发表于 2020-6-9 09:30:01 | 显示全部楼层
def文件是用来导出函数和变量的,def文件不能删除,除非你显式写明哪些是要导出的。
在def中把那个出错的函数名删除了就可以了。。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表