您的位置:首页 > 运维架构

ubuntu12.04建立交叉编译环境开发openwrt

2017-02-10 22:40 274 查看
放个自己在卖的东西的链接,望朋友们多多支持,中央控制器控制舞台灯光的设备

https://item.taobao.com/item.htm?scm=12306.300.0.0&id=38169449132

ubuntu12.04交叉编译器安装,已经设置好环境变量了

但是出现4.3.3/bin/arm-linux-gcc: 3: exec: arm-none-linux-gnueabi-gcc: not found

找了好久后来找到:

问题分析:
ubuntu12.04用的是64位

解决方法:

~$ sudo apt-get install ia32-libs 装一些32位的库
有些程序要用到一些32位的库,64位的ubuntu默认没有。。。。

下面是安装codeblocks准备开发openwrt使用(这些是转载别人的,后面遇到的问题,是自己找的方法解决的):

一、安装CodeBlocks 

在fedora下面,可以直接通过yum install codeblocks进行安装,不过版本旧了一点。需要最新版本的需要去官网下载rpm包。

二、编译器及调试器配置
进入settings -> compiler setting,点选cope,重建一个名为GCC for OpenWRT 15.05的编译器。

选中Toolchain executables,设置编译器安装文件夹:

./openwrt/OpenWrt-SDK-ramips-mt7620_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2

复制代码
指定工具名:


 

然后,配置下search directories -> compiler/linker  分别指向<sdk>/staging_dir/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2/include及<sdk>//staging_dir/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2/lib
三、HelloWorld工程
点击菜单栏file -> new -> project,建立一个空工程:


 

将helloworld复制进去,编译,成功生成二进制文件

#include <stdio.h>

#include <unistd.h>

int main(void)

{

printf("Hello World!\n");

return 0;

}

切换到路由器端,由于工程被是按c++编译的,需先安装libstdcpp

root@OpenWrt:~/openwrt/ide_test/helloworld/bin/Debug# opkg install libstdcpp

Installing libstdcpp (4.8-linaro-1) to root...

Downloading http://downloads.openwrt.org/chaos_calmer/15.05/ramips/mt7620/packages/base/libstdcpp_4.8-linaro-1_ramips_24kec.ipk.
Configuring libstdcpp.

root@OpenWrt:~/openwrt/ide_test/helloworld/bin/Debug# ./helloworld 

Hello World!

复制代码

我在俺这上面的操作弄完后,发现编译报没有找到gcc,折腾了很久测试了去看gcc是否安装好,也不行,后来发现,就是最开始的问题,就是64位的ubuntu没有32位的库所致,于是我又重新转了个32位的ubuntu再按上面的操作一边就好了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: