查找到的资料:
yagarto和codesourcery都是在windows下用的,官方已经编译打包好的EXE文件
cygwin下可以自己编译源代码,做出GNU工具链
mingw也可以实现
还有一些在windows下用的IDE,专门针对GNU工具链的,code::blocks,emide等
链接:https://pan.baidu.com/s/1oKqzQ1x1U3d_9y51YrDwGg 密码:2eer
下载解压,直接将GUNARM/bin添加到window环境变量中就可以使用window命令来使用。但是不是我想要的。
是一款独立的软件,编译的好像也是裸奔的,与需求不符。
方式一:
下载脚本文件http://buildroot.uclibc.org/downloads/snapshots/buildroot-snapshot.tar.bz2
tar xvjf buildroot-snapshot.tar.bz2
cd buildroot
make menuconfig:这里出错了,说fork: Resource temporarily unavailable! 重装了一下,可以使用了!
里面有许多选项,主要修改了其中的交叉编译器选项,乱改一通啊
make
报错:You must install 'cpio' on your build machine!无解中。。。
方式二:
链接:https://pan.baidu.com/s/1k21m3wIsNRdtNW0VBGNEjg 密码:1fyq,里面有一个完整的文档。
使用的是crosstool进行安装
但是在编译linux中arch/arm/.config文件时出错,没有正确生成?
我换成64位的cygwin又试了试,报crosstool: bug: BUILD not set?!
他的文档比较乱的,也可以看一下我这个目的性强的版本:
(一)直接下载Window上的最新的直接安装包,一切默认安装即可。下载链接:https://pan.baidu.com/s/1pg5WIi2d0tBROPn11_3z1g 密码:3pvi。
(二)将C:\Users\Administrator\MentorGraphics\Sourcery_CodeBench_Lite_for_ARM_GNU_Linux\bin的默认安装路径(如果你安装文件的时候改了路径,请记得修改),添加到Window全局环境变量中。
(三)编写一个简单的hello.c程序,输入下面的命令编译first.c文件(需要加-static选项)。
# arm-none-linux-gnueabi-gcc -static -o hello hello.c
(四)将hello发送到arm的板子上面即可。./hello查看你的helloworld.
这样就简单的完成了一个应用程序,而不是裸机程序了。下面可以试着做一个我们所需要的so了、
# arm-none-linux-gnueabi-gcc -shared -fPIC ///
./a.out一下,又出现问题: cannot open shared object file: No such file or directory!
ldd a.out:
111@debian:~$ ldd a.out
libhello.so => Not found (0xb6f24000)
libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0xb6e32000)
/lib/ld-linux-armhf.so.3 (0xb6f2f000)
FILE一下我编译出来的so:
ELF 32-bit LSB shared object, ARM, version 1 (SYSV), dynamically linked, not stripped
正常的so:
ELF 32-bit LSB shared object, ARM, version 1 (SYSV), dynamically linked, BuildID[sha1]=0x6dd5dfefc362981dd11eac77d7f793727c24f8a8, stripped
没有BuildID?不知道是不是so没有正常的ID的原因,无法找到我编译出来的so!
可以尝试 --build-id=sha1~
colinux貌似不错,但是好像是64位装不了的.
还有一家希望,我成功了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
这个是类似于第4种codeSourcery,方法一样的。
首先,下载:链接:https://pan.baidu.com/s/1uQoCHzEl6HxiGQ9ykqKaoQ 密码:vxhy
然后解压,放到全局变量。
Window下的cmd命令行模式,直接 arm-linux-gnueabihf-gcc -v 查看版本。
同样的:
arm-linux-gnueabihf-gcc -shared -fPIC -o 我很棒.so hello.c
这次是有BuildID的。在板子上成功运行!
参考文档:参考的太多了,除了我的下载资源网上有很多比较全的,我只把我用到的放在这里了。我的看的网页都放不下的啊!国内的资料真少,希望大神们带动。