当前位置: 技术问答>linux和unix
带有第三方库的交叉编译的问题
来源: 互联网 发布时间:2017-05-24
本文导语: 我用的是Ubuntu12.04 我需要将我的代码交叉编译到基于arm的linux系统里运行,所以需要arm-linux-gcc,但我的代码里需要使用在Ubuntu里安装的第三方库libmxio.a,这在编译时就会说找不到这个库,出现这种错误:skipping inco...
我用的是Ubuntu12.04
我需要将我的代码交叉编译到基于arm的linux系统里运行,所以需要arm-linux-gcc,但我的代码里需要使用在Ubuntu里安装的第三方库libmxio.a,这在编译时就会说找不到这个库,出现这种错误:skipping incompatible,具体错误见下方:
我的makefile为
如果我将我的编译器设为gcc,就不会有问题,所以我在想是不是我的第三方库不支持交叉编译。
everything will help me!
thx!
我需要将我的代码交叉编译到基于arm的linux系统里运行,所以需要arm-linux-gcc,但我的代码里需要使用在Ubuntu里安装的第三方库libmxio.a,这在编译时就会说找不到这个库,出现这种错误:skipping incompatible,具体错误见下方:
kj@kj-Lenovo-B460:~/Desktop/USV/IA240/CrossCompiler2$ make
arm-linux-gcc -o IA240 main.o UDPnetwork.o iologik.o -lpthread -L/usr/local/lib/ -lmxio -I/usr/local/include/
/usr/local/arm-linux-4.4.2/lib/gcc/arm-linux/4.4.2/../../../../arm-linux/bin/ld: skipping incompatible /usr/local/lib//libmxio.a when searching for -lmxio
/usr/local/arm-linux-4.4.2/lib/gcc/arm-linux/4.4.2/../../../../arm-linux/bin/ld: cannot find -lmxio
collect2: ld returned 1 exit status
make: *** [IA240] Error 1
我的makefile为
CC = arm-linux-gcc
IA240: main.o UDPnetwork.o iologik.o
$(CC) -o IA240 main.o UDPnetwork.o iologik.o -lpthread -L/usr/local/lib/ -lmxio -I/usr/local/include/
main.o: main.cpp iologik.h UDPnetwork.h
$(CC) -c main.cpp -lpthread -L/usr/local/lib/ -lmxio -I/usr/local/include/
UDPnetwork.o: UDPnetwork.cpp UDPnetwork.h
$(CC) -c UDPnetwork.cpp
iologik.o: iologik.cpp iologik.h UDPnetwork.h
$(CC) -c iologik.cpp -lpthread -L/usr/local/lib/ -lmxio -I/usr/local/include/
如果我将我的编译器设为gcc,就不会有问题,所以我在想是不是我的第三方库不支持交叉编译。
everything will help me!
thx!
|
下载源码交叉编译,没有源码就没办法了