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

来源:互联网 发布:淘宝卖家如何实名认证 编辑:程序博客网 时间:2024/04/30 02:48

放个自己在卖的东西的链接,望朋友们多多支持,中央控制器控制舞台灯光的设备

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,设置编译器安装文件夹:
  1. ./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复制进去,编译,成功生成二进制文件
  1. #include <stdio.h>
  2. #include <unistd.h>

  3. int main(void)
  4. {
  5. printf("Hello World!\n");
  6. return 0;
  7. }


切换到路由器端,由于工程被是按c++编译的,需先安装libstdcpp
  1. root@OpenWrt:~/openwrt/ide_test/helloworld/bin/Debug# opkg install libstdcpp
  2. Installing libstdcpp (4.8-linaro-1) to root...
  3. Downloading http://downloads.openwrt.org/chaos_calmer/15.05/ramips/mt7620/packages/base/libstdcpp_4.8-linaro-1_ramips_24kec.ipk.
  4. Configuring libstdcpp.
  5. root@OpenWrt:~/openwrt/ide_test/helloworld/bin/Debug# ./helloworld 
  6. Hello World!
复制代码



我在俺这上面的操作弄完后,发现编译报没有找到gcc,折腾了很久测试了去看gcc是否安装好,也不行,后来发现,就是最开始的问题,就是64位的ubuntu没有32位的库所致,于是我又重新转了个32位的ubuntu再按上面的操作一边就好了




0 0