BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / embedded-system / #14122同步于 2013/10/30
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Embedded_System机器人发帖

[问题`已解决附流程]C程序,编译,添加新的库文件

arence
2013/10/30镜像同步10 回复
现在有一个C程序,要加上libxml的库,就是加一个 #include <libxml/parser.h> #include <libxml/tree.h> 一个linux系统的开发板,本身自带有libxml这个库的,就是说在/usr/include/libxml2 和/lib底下有libxml的头文件和库文件等 所以我们在编译的时候 Makefile写 $(CC) file.c -I /usr/include/libxml2 -L /usr/lib/ -lxml2 -o ./file 就能成功的加上LIBXML这个库,编译成功,然后成功运行 现在我的问题是--------------------------------------- 我们需要把这个程序移植到ARM的平台下,但是那个ARM的开发板没有libxml,而且没法安装在根目录下。 因为它的文件系统是read only的。不能往他的根文件系统中加入新的文件 现在这个程序只是拷在SD卡里,然后挂载到开发板上去的. 现在我通过arm-linux-gcc交叉编译,生成了arm平台下的这几个文件 libxml2.a libxml2.so libxml2.so.2.7.7 libxml2.la libxml2.so.2 http://blog.chinaunix.net/uid-20620288-id-3153640.html这篇文章是在开发板根目录可以读写的情况下,说只要把这几个文件拷进开发板中,就可以了。 但是现在不能往根目录里拷,怎么办啊?拷进SD卡里 然后在Makefile中 $(CC) file.c -I ./libxml2 -L ./lib/ -lxml2 -o ./file 的话,编译可以通过,不过运行的时候就会说 error while loading shared libraries: libxml2.so.2: cannot open shared object file: No such file or directory 怎么办啊???。。。。。不知道我形容清楚了没。。。。 解决完整流程—————————————————————————————————————————— ——————————————————————————————————————————————— 1、下载libxml2.7.7.tar.gz 2、解压 tar -zxvf libxml2.7.7.tar.gz 3、进入解压的文件夹 4、 ./configure --prefix=/usr/local/libxml-arm --host=arm-linux --CC=arm-linux-gcc make make install 5、进入/usr/local/libxml-arm 将文件夹下include/libxml2 文件夹拷出来 将/lib 文件夹下 libxml2.a libxml2.so libxml2.so.2.7.7 libxml2.la libxml2.so.2 这5个文件拷出来 全部放在一个/lib的文件夹下 6、将这个libxml2 lib两个文件夹复制到要使用libxml的C程序文件夹下 7、修改Makefile文件 $(CC) XXX.c $(LIBCMDAPI) -I libxml2/ -L lib/ -lxml2 -o ./XXX -I 是include的意思 -L 是lib 8、make这个C程序 9、将整个C程序的文件夹拷到开发板中,包括刚才的lib 和libxml文件夹 10、export LD_LIBRARY_PATH=/tmp/mnt/lib 这个文件夹路径是你在开发板上,刚才拷进来的那个lib文件夹的绝对路径 11、运行程序
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
arence机器人#1 · 2013/10/30
刚发完贴问题就解决了。
FromSixToTen机器人#2 · 2013/11/1
【 在 arence 的大作中提到: 】 : 刚发完贴问题就解决了。 LZ是刷存在感吗?
arence机器人#3 · 2013/11/1
/........ 本来是想求助的。。后来解决了。。。 所以就结个贴呗。。 囧。。 【 在 FromSixToTen 的大作中提到: 】 : : LZ是刷存在感吗?
FromSixToTen机器人#4 · 2013/11/1
【 在 arence 的大作中提到: 】 : /........ : 本来是想求助的。。后来解决了。。。 : 所以就结个贴呗。。 : ................... 解决了写上解决方案好不好,最讨厌那些,提出问题,然后说解决了,不说解决方案,后人遇到同样问题,然后好不容易找到这个帖子然后就没有啦
sample机器人#5 · 2013/11/1
直接把程序在linux下arm-linux-gcc交叉编译了 放到ARM板下?
tdcandycloud机器人#6 · 2013/11/1
占座学习
arence机器人#7 · 2013/11/2
已附解决方法~ 【 在 tdcandycloud 的大作中提到: 】 : 占座学习
arence机器人#8 · 2013/11/2
原帖已编辑,附解决方法~谢谢~ 【 在 sample 的大作中提到: 】 : 直接把程序在linux下arm-linux-gcc交叉编译了 放到ARM板下?
arence机器人#9 · 2013/11/2
是这样的,这个帖子我在linux版也发过,就在linux版附了解决方法了,忘了这个版了。 现在已编辑,非常抱歉~。 可是同学你说话为什么那么不客气呢?? 一会儿说我“刷存在感”一会儿说“最讨厌”、、、、 。。。。让人听了很不舒服。。 谢谢~ 【 在 FromSixToTen 的大作中提到: 】 : : 解决了写上解决方案好不好,最讨厌那些,提出问题,然后说解决了,不说解决方案,后人遇到同样问题,然后好不容易找到这个帖子然后就没有啦