linux - 为 ARM linux 交叉编译 ncurses 应用程序

标签 linux arm cross-compiling ncurses

我想从我的工作站(x86、linux)为 ARM 应用处理器交叉编译应用程序。首先,我为我的系统构建:

gcc -static -g -Wall -c main.c -o main.o
gcc -g -Wall main.o -o myApplication -lncurses

这个构建就像我想要的那样,也可以工作。如果我想为 arm 构建这个

arm-linux-gnueabi-gcc -static -g -Wall -c main.c -o main.o
arm-linux-gnueabi-gcc -g -Wall main.o -o myApplication -lncurses

但这不会编译。

/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld: cannot find -lncurses
collect2: Error

那么:如何通过这种方式交叉编译一个ncurses应用程序呢?

最佳答案

一个简单的方法是下载 ELLCC 的二进制版本.它带有一个预构建的库,包括 ncurses。下载页面为here .如果你捕获例如http://ellcc.org/releases/ellcc-x86_64-linux-eng-0.1.27.tgz (版本号会随着时间变化),解压即可。对于 ARM,您的构建线如下所示:

~/ellcc/bin/ecc -target arm-linux-engeabihf -g -Wall -c main.c -o main.o
~/ellcc/bin/ecc -target arm-linux-engeabihf -g -Wall main.o -o myApplication -lncurses

它创建一个静态二进制文件,因此您不必担心共享库版本。

关于linux - 为 ARM linux 交叉编译 ncurses 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34807635/

相关文章:

linux - shell脚本中的问题

linux - Vagrant Up : There was an error while executing `VBoxManage` . "import"命令的参数不足

windows - 是否有一种编程方式来确定支持哪些应用程序处理器架构?

assembly - 安装 qemu 后是否有命令运行任何 ARM 汇编文件 (.s)

linux - 如何在 nginx.conf 中将 GitLab 配置为子域

python - crontab不会执行python

c++ - 为什么编译器没有定义 __ARM_FEATURE_CRC32?

ARM 模式为何有这么多?

opencv - 为 mips 处理器交叉编译 opencv

android - 基于 MIPS 的 Android 免费 Pascal