全部博文(404)
分类: LINUX
2009-03-31 18:12:43
编译器在哪里找库:
所有的库文件和头文件都放在交叉编译工具包的arm-linux/lib,include文件夹,当交叉编译开始之后,编译器会自动的在这两个文件夹里寻找头文件和库。
在什么地方有库:
在交叉编译过程中,最常见和令人头痛的问题就是找不到需要的库文件,而库的来源有两个地方:
1. 如上所述,在arm-linux文件夹里自带了库,这里的库对一般的应用程序已经足够,编译普通程序,足够应付。
2. 对于需要库比较多,比较复杂的程序,往往编译器自带的库是不足够的,比如gutenprint的编译。如此,查找第二个库中的文件成为唯一的途径,即查找开发板自带的文件系统中的库,然后将需要的库和头文件,copy到arm-linux对应目录下,如此就解决了库不足的问题,通常情况下,文件系统所带的库远比编译器所带的库多。
采用第二种方法,gutenprint的编译通过。另外:即使在以上两个地方都找不到库,那么在报错之后,确定程序所缺少的库文件和头文件,然后在网上下载源代码,交叉编译成项目所需要的库,也能解决交叉编译的问题,只是工作量会大一些。