阅读:1300回复:6
自己定义函数的链接问题(急)
有两个c文件1.c 2.c 在1.c中定义了一个函数2.c中要用到,我在2中包含了1.h,这样生成lib,编译的时候不会出错,但是当使用到这个lib时2.obj却出现了连接出错,说它使用的1.c中定义的那个函数连接不上,请问这是什么原因导致的,谢谢
|
|
沙发#
发布于:2005-02-27 12:41
忘了说明了,1.c里面那个被使用的函数的参数是结构类型,结构的定义在1.h中
|
|
板凳#
发布于:2005-02-27 13:47
1.c是一个DLL?
具体什么连接错误? |
|
地板#
发布于: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中定义的 |
|
地下室#
发布于:2005-02-27 15:23
在2.c中声明一下1.c中的那个函数的原型。
|
|
|
5楼#
发布于:2005-02-27 15:40
1.c和2.c是同在一个lib中的普通c文件,不过1.c中那个要被2.c使用的函数的参数是结构类型,结构的定义在1.h中,我在2.c中已经包含了1.h的,错误是这种样子的 可能是c或者c++编译规范问题。。。 将要用到的那个函数声明的时候加上extern “C”试试,,,, 嘿嘿,, |
|
|
6楼#
发布于:2005-02-27 21:25
多谢各位了,原来我自己犯了个错误,1.c里面的函数由于宏的原因根本就没有导出,所以连接的时候找不到-_-
|
|