【发布时间】:2020-05-08 19:50:44
【问题描述】:
我需要为 armhf 编译内核 3.4,这需要 gcc-4.9。
cmd 行是:make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- tegra_defconfig(这里我不确定是否需要设置 CROSS_COMPILE)make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
问题是我无法让 ubuntu 使用 gcc-4.9,这是不可用的,我不得不将 xenial 添加到“sources.list”文件中,现在我的系统上有它但无法使用它。
将CC=gcc-4.9 添加到命令将不会使用CROSS_COMPILE 定义的arm-linux-gnueabihf 前缀。update-alternatives 不会将 gcc-4.9 识别为第二个 c 编译器。
有谁知道解决这个问题的方法吗?
请不要只发表“安装 xenial”之类的评论。
【问题讨论】:
-
你可以在运行
make之前尝试这些命令:update-alternatives --set gcc "/usr/bin/gcc-4.9"和update-alternatives --set g++ "/usr/bin/g++-4.9"。准备好后不要忘记将其反转为当前版本。 -
谢谢,但在我编辑之前你可能已经回答了:输出是:
update-alternatives: error: no alternatives for gcc -
@flappix 我的默认编译器是 gcc-9,我尝试安装 gcc-10 认为它可能会解锁 update-alternatives 功能以将其设置为 4.9 但即使安装了 gcc-10 我也得到了相同的结果我在上一条评论中提到的错误。
标签: cross-compiling compatibility