【问题标题】:Gcc compile hello.c for c6xGcc 为 c6x 编译 hello.c
【发布时间】:2013-11-14 16:56:26
【问题描述】:

我为 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=c64x 来定位c6x 架构。快速谷歌搜索表明术语“c64x”和“c6x”是同义词或密切相关的。我添加此评论以防人们认为这是您的问题中的错字(这是我的第一个想法)。

标签: linux gcc gcc4.7


【解决方案1】:

-march=name This specifies the name of the target architecture.

但在你的情况下target is TI (c64x) board 即它的arm architecture。要为 arm 架构编译程序,您需要 cross-compiler。但是您尝试使用与目标目标不同的选项 -march 在 x86gcc native-compiler 上进行编译。即“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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-04
    • 2020-10-07
    • 1970-01-01
    • 2018-05-02
    • 1970-01-01
    • 2023-01-31
    • 2012-01-28
    相关资源
    最近更新 更多