我正试图在x86 Ubuntu13.10机器上交叉编译htop,用于Raspberry架构。我已经正确配置了一个交叉工作台-ng工具链,但是当我使用以下命令时:
./configure CC=/home/fb/crosstool-ng/toolchains/arm-rpi-linux-gnueabihf/bin/arm-rpi-linux-gnueabihf-gcc CXX=/home/fb/crosstool-ng/toolchains/arm-rpi-linux-gnueabihf/bin/arm-rpi-linux-gnueabihf-g++ --host=arm-rpi-linux-gnueabihf --build=i686-pc-linux-gnu --target=arm-rpi-linux-gnueabihf
我知道这个错误:
checking for refresh in -lncursesw... no configure: error: You may want to use --disable-unicode or install libncursesw.
如果我在x86机器上使用./configure,这个过程可以工作,因为安装了libncursesw5和libncursesw5-dev。在覆盆子上也是一样。如果我启动./配置,那么它就能工作了。
我试图用LDFLAGS指定库的位置,但总是会出现相同的错误。
我该把那些图书馆放在哪里?!或者交叉编译的问题是什么?
发布于 2014-01-12 16:44:58
据我所知,x86在x86机器上编译了libncursesw5,而ARM在Rpi上编译了libncursesw5。
您需要的是ARM编译的libncursesw5在x86机器上。当您执行./configure命令时,您遇到的错误是编译一个小程序来链接到libncursesw5,以测试它的存在。ARM交叉编译器无法链接到x86库,这就是导致错误的原因。
您可以通过将来自Rpi的libncurses5w库放到您的x86交叉编译环境中来解决这个问题,也可以使用ARM交叉编译器从x86机器上的源代码编译libncursesw5。
https://unix.stackexchange.com/questions/108994
复制相似问题