现在的位置: 首页 > 综合 > 正文

交叉编译环境下静态库动态库的加载

2012年11月29日 ⁄ 综合 ⁄ 共 698字 ⁄ 字号 评论关闭

     现在做的这个项目用到的是开发板是MIPS芯片,所以无论是在编译我自己的源代码时,还是对方的静态库,我都要使用MIPS的gcc,也就是在我的pc装好交叉编译环境。

交叉编译环境的概念

在pc平台上装上特定嵌入式开发的编译环境,对于嵌入式开发的源代码,可以用其编译环境在pc平台上编译源代码。

 

交叉编译时候如何配置连接库的搜索路径
交叉编译的时候不能使用本地(i686机器,即PC机器,研发机器)机器上的库,但是在做编译链接的时候默认的是使用本地库,即/usr/lib,/lib两个目录。因此,在交叉编译的时候,要采取一些方法使得在编译链接的时候找到需要的库。
首先,要知道:编译的时候只需要头文档,真正实际的库文档在链接的时候用到。 (这是我的理解,假如有不对的地方,敬请网上各位大侠指教) 然后,讲讲如何在交叉编译链接的时候找到需要的库。
(1)、交叉编译时候直接使用-L和-I参数指定搜索非标准的库文档和头文档的路径。例如:
mips-linux-uclibc-gcc test.c -L/usr/local/mips/2.95.3/mips-linux/lib -I/usr/local/mips/2.95.3/mips-linux/include
(2)、使用ld.so.conf文档,将用到的库所在文档目录添加到此文档中,然后使用ldconfig命令刷新缓存。
(3)、使用如下命令:
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mips/2.95.3/mips-linux-lib
通过环境变量LD_LIBRARY_PATH指定动态库搜索路径(!)。

抱歉!评论已关闭.