| 
			 
					阅读:1407回复: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里面的函数由于宏的原因根本就没有导出,所以连接的时候找不到-_-				 
							 | 
	|