为OpenWrt

时间:2017-04-22 10:35:45

标签: c++ g++ cross-compiling openwrt

我从官方网站下载了用于我的路由器架构的OpenWRT-SDK。

  

的OpenWrt-SDK-15.05.1-ar71xx-generic_gcc-4.8 linaro_uClibc-0.9.33.2.Linux-x86_64的

我路由器上的OpenWRT-SDK和OpenWRT具有相同的架构和版本。计算机操作系统是Debian 7。

我的任务:在PC上编译简单程序并在路由器上运行。

开始时我输出了STAGING_DIR环境变量:

  

导出STAGING_DIR =“/ sdk / ar71xx-generic / staging_dir”

“/ sdk / ar71xx-generic /” - 它的OpenWRT-SDK目录路径。

并在C ++上编写了简单的程序

#include <iostream>

int main()
{
    std::cout << "Hello world!" << std::endl;
    return 0;
}

为了对OpenWRT进行编译,我在源目录的终端中使用了这个命令:

  

$ STAGING_DIR / toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2 / bin / mips-openwrt-linux-g ++ -o helloworld main.cpp

在输出中我收到了这个错误:

  

mips-openwrt-linux-g ++:试图执行'/sdk/ar71xx-generic/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/bin/../lib/gcc/mips-openwrt-时出错linux-uclibc / 4.8.3 /../../../../ mips-openwrt-linux-uclibc / bin / as':execv:exec格式错误

但是如果我使用标准的g ++编译器编译我的源代码 - 一切正常。

0 个答案:

没有答案