首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在OpenWRT中与gcc一起编译

如何在OpenWRT中与gcc一起编译
EN

Stack Overflow用户
提问于 2016-05-15 14:38:11
回答 1查看 3.7K关注 0票数 2

我有一个"Linksys WRT1200AC“路由器运行"OpenWrt混沌平静器15.05.1”(mvebu.ipk),并安装了"gcc_4.8.3-1_mvebu.ipk“和所有其他必需的软件包。

我尝试用以下命令编译一个C源文件(类似于"hello“,非常简单):

代码语言:javascript
复制
#gcc mysource.c -o myprogram
#chmod +x myprogram

#./myprogram
myprogram: line 1: syntax error: unexpected word (expecting ")")

编译器没有给我错误或警告,但程序不能启动。这就像从不同的arch安装到路由器的.ipk包一样。所以我认为gcc正在为另一个CPU/Arch编译我的源代码。路由器cpu是:"Marvell无敌38X双核@ 1.33 GHz (88F6820-A0 C133)“

代码语言:javascript
复制
# uname -a
Linux OW 3.18.23 #1 SMP Sun Jan 31 12:53:24 CET 2016 armv7l GNU/Linux

# grep 'model name' /proc/cpuinfo
model name      : ARMv7 Processor rev 1 (v7l)
model name      : ARMv7 Processor rev 1 (v7l)

用正确的CPU/Arch选项编译openwrt中的源代码的正确命令行是什么?我试过不同的方法“

这是详细的:

代码语言:javascript
复制
# gcc -v mysource.c -o myprogram
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-openwrt-linux-uclibcgnueabi/4.8.3/lto-wrapper
Target: arm-openwrt-linux-uclibcgnueabi
Configured with: /home/buildbot/slave-local/mvebu_generic/build/build_dir/target-arm_cortex-a9+vfpv3_uClibc-0.9.33.2_eabi/gcc-4.8.3/configure --target=arm-openwrt-linux --host=arm-openwrt-linux --build=x86_64-linux-gnu --program-prefix= --program-suffix= --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/lib --sysconfdir=/etc --datadir=/usr/share --localstatedir=/var --mandir=/usr/man --infodir=/usr/info --disable-nls --build=x86_64-linux-gnu --host=arm-openwrt-linux-uclibcgnueabi --target=arm-openwrt-linux-uclibcgnueabi --enable-languages=c,c++ --with-bugurl=https://dev.openwrt.org/ --with-pkgversion='OpenWrt GCC 4.8.3' --enable-shared --disable-__cxa_atexit --enable-target-optspace --with-gnu-ld --disable-nls --disable-libmudflap --disable-multilib --disable-libgomp --disable-libquadmath --disable-libssp --disable-decimal-float --disable-libstdcxx-pch --with-host-libstdcxx=-lstdc++ --prefix=/usr --libexecdir=/usr/lib --with-float=soft
Thread model: posix
gcc version 4.8.3 (OpenWrt GCC 4.8.3)
COLLECT_GCC_OPTIONS='-v' '-o' 'myprogram' '-mfloat-abi=soft' '-mtls-dialect=gnu'
 /usr/lib/gcc/arm-openwrt-linux-uclibcgnueabi/4.8.3/cc1 -quiet -v -imultilib . -imultiarch arm-linux-gnueabi mysource.c -quiet -dumpbase myprogram.c -mfloat-abi=soft -mtls-dialect=gnu -auxbase mysource -version -o /tmp/ccojawQz.s
GNU C (OpenWrt GCC 4.8.3) version 4.8.3 (arm-openwrt-linux-uclibcgnueabi)
        compiled by GNU C version 4.8.3, GMP version 4.3.2, MPFR version 2.4.2, MPC version 0.8.1
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
ignoring nonexistent directory "/usr/local/include/arm-linux-gnueabi"
ignoring nonexistent directory "/usr/local/include"
ignoring nonexistent directory "/usr/lib/gcc/arm-openwrt-linux-uclibcgnueabi/4.8.3/../../../../arm-openwrt-linux-uclibcgnueabi/include"
ignoring nonexistent directory "/usr/include/arm-linux-gnueabi"
#include "..." search starts here:
#include <...> search starts here:
 /usr/lib/gcc/arm-openwrt-linux-uclibcgnueabi/4.8.3/include
 /usr/lib/gcc/arm-openwrt-linux-uclibcgnueabi/4.8.3/include-fixed
 /usr/include
End of search list.
GNU C (OpenWrt GCC 4.8.3) version 4.8.3 (arm-openwrt-linux-uclibcgnueabi)
        compiled by GNU C version 4.8.3, GMP version 4.3.2, MPFR version 2.4.2, MPC version 0.8.1
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-18 18:31:49

嗯,看来这是这样工作的;)

代码语言:javascript
复制
gcc -mabi=aapcs-linux mysource.c -o myprogram
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37239569

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档