问题描述
我在Cross Compiling,Crosstool,Makefile,libreadline中遇到了类似的问题。我使用crosstool-ng using armv7-rpi2-linux-gnueabihf
配置示例为Raspberry Pi 2构建了一个交叉编译器。
我尝试使用交叉编译器来编译Simplicity Studio提供的C项目,并获得相同的readline.h
问题。我进行了如下修改C项目Makefile的编译:
ifdef INCLUDE_MAKEFILE
include $(INCLUDE_MAKEFILE)
endif
.SUFFIXES:
#COMPILER ?= gcc
#LINKER ?= gcc
COMPILER ?= /home/vitosan92/x-tools/armv7-rpi2-linux-gnueabihf/bin/armv7-rpi2-linux-gnueabihf-gcc
LINKER ?= /home/vitosan92/x-tools/armv7-rpi2-linux-gnueabihf/bin/armv7-rpi2-linux-gnueabihf-gcc
ARCHIVE ?= ar
STD ?= gnu99
然后我启动了make
命令。
但是,使用命令armv7-rpi2-linux-gnueabihf-gcc --print-sysroot
,我找到了应该放置readline标头的文件夹。
因此,我将标头从/usr/include
复制到/home/vitosan92/x-tools/armv7-rpi2-linux-gnueabihf/armv7-rpi2-linux-gnueabihf/sysroot/usr/include/
,解决了标头问题。
但是,现在我有一个链接器问题:
/home/vitosan92/x-tools/armv7-rpi2-linux-gnueabihf/lib/gcc/armv7-rpi2-linux-gnueabihf/10.2.0/../../../../armv7-rpi2-linux-gnueabihf/bin/ld.bfd: cannot find -lreadline /home/vitosan92/x-tools/armv7-rpi2-linux-gnueabihf/lib/gcc/armv7-rpi2-linux-gnueabihf/10.2.0/../../../../armv7-rpi2-linux-gnueabihf/bin/ld.bfd: cannot find -lncurses collect2: error: ld returned 1 exit status make: *** [Makefile:424: build/exe/Z3GatewayHost] Error 1
如何使用交叉编译器生成链接器文件?为什么当我构建工具链时,不包括readline标头来构建交叉编译器?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)