关于生成动态库的错误

yuanchao111 2004-09-23 11:44:41
我用VC6.0建了一个导出动态库的工程,具体是:New/Projects/Win32 Dyanmic-Link Library,然后选择了An Empty Dll Project,然后加入了我的程序代码文件及定义

导出符号def文件,其中def文件的内容如下:

; orasbt.def : Declares the module parameters for the DLL.
LIBRARY "orasbt"
DESCRIPTION 'orasbt Windows Dynamic Link Library'
EXPORTS
; Explicit exports can go here
sbtclose
sbtinfo
sbtinit
sbtopen
sbtread
sbtremove
sbtwrite

编译后产生错误:
--------------------Configuration: orasbt - Win32 Debug------------------

--
Linking...
orasbt.def : error LNK2001: unresolved external symbol sbtclose
orasbt.def : error LNK2001: unresolved external symbol sbtinfo
orasbt.def : error LNK2001: unresolved external symbol sbtinit
orasbt.def : error LNK2001: unresolved external symbol sbtopen
orasbt.def : error LNK2001: unresolved external symbol sbtread
orasbt.def : error LNK2001: unresolved external symbol sbtremove
orasbt.def : error LNK2001: unresolved external symbol sbtwrite
Debug/orasbt.lib : fatal error LNK1120: 7 unresolved externals
LINK : fatal error LNK1141: failure during build of exports file
Error executing link.exe.

orasbt.dll - 9 error(s), 0 warning(s)

程序没有错误,只是代码文件多一些。现在编译老是出这个问题,请问哪位大哥大姐小弟小妹知道解决?先谢了
...全文
81 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
yuanchao111 2004-09-26
问题已经解决,谢谢各位,特别是 jdzwq(一技之痒) 。
回复
oyljerry 2004-09-24
看这几个函数是否实现
回复
DentistryDoctor 2004-09-23
是不是这几个函数你未提供实现?
回复
jdzwq 2004-09-23
头文件中加上外部输出声明:
#ifdef __cplusplus
extern "C" {
#endif

extern ...sbtclose...
extern ...sbtinfo...
extern ...sbtinit...
extern ...sbtopen...
extern ...sbtread...
extern ...sbtremove...
extern ...sbtwrite...

#ifdef __cplusplus
}
#endif
回复
tyjzq 2004-09-23
包含有这几个函数得那个cpp文件没有包进dsp工程文件中,或者名称有问题(是否是大小写问题)
回复
flyelf 2004-09-23
rebuild all
回复
发帖
进程/线程/DLL
创建于2007-09-28

1.5w+

社区成员

VC/MFC 进程/线程/DLL
申请成为版主
帖子事件
创建了帖子
2004-09-23 11:44
社区公告
暂无公告