+ -
当前位置:首页 → 问答吧 → 软件移植出现了问题

软件移植出现了问题

时间:2010-11-18

来源:互联网

目标移植软件:cycfx2prog-0.47
交叉编译器:天嵌开发板自带的EABI 4.3.3
问题:

在将软件的Makefile 中cc=gcc 改为cc=arm-linux-gcc (注:环境变量已经设置好)
#make 时,出现以下问题:
提示找不到usb.h文件

我在网上搜了下,我决定把Libusb重新交叉编译下。把libusb-0.1.12解压到/home 目录下。交叉编译:
#./configure --host=arm-linux
#make
之后的libusb文件夹中的文件是
[root@localhost libusb-0.1.12]# ls
acinclude.m4   configure       error.lo           libusb.spec.in  README.in
aclocal.m4     configure.in    error.o            LICENSE         stamp-h1
apidocs        COPYING         INSTALL.libusb     linux.c         tests
AUTHORS        darwin.c        INSTALL.libusb.in  linux.h         usb.c
bsd.c          depcomp         install-sh         linux.lo        usb.h
ChangeLog      descriptors.c   libtool            linux.o         usb.h.in
compile        descriptors.lo  libusb-config      ltmain.sh       usbi.h
config.guess   descriptors.o   libusb-config.in   Makefile        usb.lo
config.h       doc             libusb.la          Makefile.am     usb.o
config.h.in    Doxyfile        libusb.pc          Makefile.in     usbpp.cpp
config.log     Doxyfile.in     libusb.pc.in       missing         usbpp.h
config.status  error.c         libusbpp.la        NEWS            usbpp.lo
config.sub     error.h         libusb.spec        README          usbpp.o
[root@localhost libusb-0.1.12]#
文件夹中没有找到libusb.so和libusb.a文件。不知道为什么。暂时没管他,修改cycfx2prog-0.47的makefile:

CC = arm-linux-gcc -pipe
VERSION = 0.47
CFLAGS = -O2 -fno-rtti -fno-exceptions -DCYCFX2PROG_VERSION=\"$(VERSION)\" \
-I /home/libusb-0.1.12 \
        -W -Wall -Wformat

LDFLAGS = -L/home/libusb-0.1.12 -lusb
DIST_DEST = cycfx2prog-$(VERSION)

all: cycfx2prog
...
改了之后,在运行make。出现以下错误:

/opt/EmbedSky/4.3.3/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/../../../../arm-none-linux-gnueabi/bin/ld: skipping incompatible /opt/EmbedSky/4.3.3/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/armv4t/libusb.so when searching for -lusb
/opt/EmbedSky/4.3.3/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/../../../../arm-none-linux-gnueabi/bin/ld: skipping incompatible /opt/EmbedSky/4.3.3/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/armv4t/libusb.a when searching for -lusb

求教。。。

作者: ssh_2008   发布时间: 2010-11-18

问题已经解决。上面的过程是没错的。只是在交叉编译libusb时,忘了#make;make install

作者: ssh_2008   发布时间: 2010-11-19

热门下载

更多