hangzhoustayer
驱动小牛
驱动小牛
  • 注册日期2002-05-08
  • 最后登录2006-06-19
  • 粉丝1
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1220回复:6

自己定义函数的链接问题(急)

楼主#
更多 发布于:2005-02-27 12:27
有两个c文件1.c 2.c 在1.c中定义了一个函数2.c中要用到,我在2中包含了1.h,这样生成lib,编译的时候不会出错,但是当使用到这个lib时2.obj却出现了连接出错,说它使用的1.c中定义的那个函数连接不上,请问这是什么原因导致的,谢谢
hangzhoustayer
驱动小牛
驱动小牛
  • 注册日期2002-05-08
  • 最后登录2006-06-19
  • 粉丝1
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-02-27 12:41
忘了说明了,1.c里面那个被使用的函数的参数是结构类型,结构的定义在1.h中
Odyssey
驱动小牛
驱动小牛
  • 注册日期2004-12-15
  • 最后登录2008-03-29
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望115点
  • 贡献值0点
  • 好评度115点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-02-27 13:47
1.c是一个DLL?
具体什么连接错误?
hangzhoustayer
驱动小牛
驱动小牛
  • 注册日期2002-05-08
  • 最后登录2006-06-19
  • 粉丝1
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-02-27 14:11
1.c和2.c是同在一个lib中的普通c文件,不过1.c中那个要被2.c使用的函数的参数是结构类型,结构的定义在1.h中,我在2.c中已经包含了1.h的,错误是这种样子的
common.lib(2.obj) : error LNK2001: unresolved external symbol _print_rsp@4
print_rsp这个函数是在1.c中定义的
aqua_aqua
驱动牛犊
驱动牛犊
  • 注册日期2005-01-16
  • 最后登录2005-09-15
  • 粉丝0
  • 关注0
  • 积分48分
  • 威望9点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-02-27 15:23
在2.c中声明一下1.c中的那个函数的原型。
MSN:aqua_aqua@21cn.com
aiwadgj
驱动老牛
驱动老牛
  • 注册日期2004-11-13
  • 最后登录2020-12-24
  • 粉丝0
  • 关注0
  • 积分119分
  • 威望84点
  • 贡献值0点
  • 好评度14点
  • 原创分0分
  • 专家分0分
  • 社区居民
5楼#
发布于:2005-02-27 15:40
1.c和2.c是同在一个lib中的普通c文件,不过1.c中那个要被2.c使用的函数的参数是结构类型,结构的定义在1.h中,我在2.c中已经包含了1.h的,错误是这种样子的
common.lib(2.obj) : error LNK2001: unresolved external symbol _print_rsp@4
print_rsp这个函数是在1.c中定义的


可能是c或者c++编译规范问题。。。

将要用到的那个函数声明的时候加上extern “C”试试,,,,

嘿嘿,,
酒也在沉溺,何时麻醉我抑郁。过去了的一切会平息。。。。。。。
hangzhoustayer
驱动小牛
驱动小牛
  • 注册日期2002-05-08
  • 最后登录2006-06-19
  • 粉丝1
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2005-02-27 21:25
多谢各位了,原来我自己犯了个错误,1.c里面的函数由于宏的原因根本就没有导出,所以连接的时候找不到-_-
游客

返回顶部