新手请教,编译连接libxml时出现cannot find lxml2错误

时间:2022-02-18 11:20:31
 arm-none-linux-gnueabi-gcc -I/usr/local/include/libxml2 -L/usr/local/lib -lxml2 -lm -o xml xml.c
cc1: warning: include location "/usr/local/include/libxml2" is unsafe for cross-compilation
/opt/arm-2007q1/bin/../lib/gcc/arm-none-linux-gnueabi/4.2.0/../../../../arm-none-linux-gnueabi/bin/ld: warning: library search path "/usr/local/lib" is unsafe for cross-compilation
/opt/arm-2007q1/bin/../lib/gcc/arm-none-linux-gnueabi/4.2.0/../../../../arm-none-linux-gnueabi/bin/ld: skipping incompatible /usr/local/lib/libxml2.so when searching for -lxml2
/opt/arm-2007q1/bin/../lib/gcc/arm-none-linux-gnueabi/4.2.0/../../../../arm-none-linux-gnueabi/bin/ld: skipping incompatible /usr/local/lib/libxml2.a when searching for -lxml2
/opt/arm-2007q1/bin/../lib/gcc/arm-none-linux-gnueabi/4.2.0/../../../../arm-none-linux-gnueabi/bin/ld: cannot find -lxml2
collect2: ld returned 1 exit status


百度说apt-get install libxml2 libxml2-dev,安装了还是不行,怎么办?

4 个解决方案

#1


-L/usr/local/lib -lxml2 -lm -o xml xml.c    -L 是程序用到的动态库的所在路径 -l 后面是动态库的名字,你确定这个动态存在吗,你先find 一下,找到这个动态库,然后在makefile 里-L 路径改成正确的。还有你这编译器是不是 arm 的,那你安装的动态库是i386 的也是不行的。

#2


1:下载libxml2源码包
2:交叉编译该libxml2

#3


apt-get install libxml2 libxml2-dev 这种方法不行,因为你是交叉编译,这样装的是桌面版的,

1:下载libxml2源码包 http://xmlsoft.org/
2:交叉编译该libxml2
3:链接交叉编译的 libxml2

#4


1、下载libxml,
2、解压
3、./configure
4、make
5、make install

#1


-L/usr/local/lib -lxml2 -lm -o xml xml.c    -L 是程序用到的动态库的所在路径 -l 后面是动态库的名字,你确定这个动态存在吗,你先find 一下,找到这个动态库,然后在makefile 里-L 路径改成正确的。还有你这编译器是不是 arm 的,那你安装的动态库是i386 的也是不行的。

#2


1:下载libxml2源码包
2:交叉编译该libxml2

#3


apt-get install libxml2 libxml2-dev 这种方法不行,因为你是交叉编译,这样装的是桌面版的,

1:下载libxml2源码包 http://xmlsoft.org/
2:交叉编译该libxml2
3:链接交叉编译的 libxml2

#4


1、下载libxml,
2、解压
3、./configure
4、make
5、make install