linux - Gcc 为 c6x 编译 hello.c

标签 linux gcc gcc4.7

我为c6x架构编译了hello.c程序:
gcc-4.8 -o hello -march='c64x' hello.c
但它有一个错误:error: bad value (c64x) for -march= switch
似乎 gcc 无法识别 c64x 架构!

我使用的是 Ubuntu 12.04 LTS & gcc-4.8 版本。 谢谢你!

最佳答案

-march=名称 这指定了目标架构的名称。

但在您的情况下,目标是 TI (c64x) 板,即它的 arm 架构。要为 arm 架构编译您的程序,您需要交叉编译器。但是您尝试在 x86gcc native-compiler 上使用与目标目标不同的选项 -march 进行编译。即“gcc”是一个本地编译器。在您的情况下,您似乎没有在 ARM 主机上工作,因此“gcc”不会在 x86 上针对 ARM 进行编译。

因此请下载交叉编译器工具链,然后使用您的选项编译您的程序。

ubuntu 的交叉编译器在这里

http://www.filewatcher.com/m/gcc-c6x-linux-gnu-4.7.1-0.1.20120606.fc18.1.i686.rpm.10801432-0.html

关于linux - Gcc 为 c6x 编译 hello.c,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19983667/

相关文章:

linux - 常驻内存使用的概述/历史

linux - 使用 vim,什么是 "' < ,'>"?

gcc - _int_malloc 断言错误

C++ 编译错误(gcc 4.7)

c - 如何编写一个可以同时采用动态/静态分配的二维数组的 c 函数?

c - 直接从 FILE 缓冲区读取

linux - 如何使用 docker swarm 扩展具有多个暴露端口和多个卷的应用程序?

c++ - 指定不同访问器中静态局部变量的构造/销毁顺序

opencv - 如何在 gcc 上编译 Opencv API

c++ - GCC 错误还是 UB?这段代码应该编译吗?