eclipse编译单个文件_ARM C++交叉编译环境构建方法

本文说明在Linux主机上构建ARM开发用最新C++交叉编译环境的方法。

安装Ubuntu主机

安装虚拟机软件

从VitualBox官网下载最新的VirtualBox。

https://www.virtualbox.org/wiki/Downloads

具体的安装包根据正在使用的操作系统决定。

7ef27b05820a9bbf80ec9c019dc3cf82.png

安装Ubuntu操作系统

####下载并安装Ubuntu

交叉编译环境我们选择最新的Ubuntu操作系统,它可以从以下地址下载:

https://ubuntu.com/#download

接下来的说明以Ubuntu Desktop 19.10为例进行,18.04也没有问题。

55935ff23bde08b28c2ec68d5adaab20.png
配置网络

由于需要共享开发目录,因此将虚拟机的网络设定为"桥接网卡"模式。

d78f381604c4f5f259012fda9afa208d.png

安装交叉编译软件(gcc/g++)

修改镜像服务器列表

打开安装包服务器列表文件:
sudo vi /etc/apt/sources.list
增加镜像服务器

在srouce.list最后增加以下内容:

deb http://th.archive.ubuntu.com/ubuntu bionic-updates main universe
安装g++/gcc
sudo apt-get install gcc-8-arm-linux-gnueabisudo apt-get install g++-8-arm-linux-gnueabi
确认安装结果

在任意位置输入以下命令确认gcc-8-arm的安装情况:

arm-linux-gnueabi-gcc -v

正确安装gcc交叉编译器之后,应该出现以下信息:

Using built-in specs.COLLECT_GCC=arm-linux-gnueabi-gccCOLLECT_LTO_WRAPPER=/usr/lib/gcc-cross/arm-linux-gnueabi/8/lto-wrapperTarget: arm-linux-gnueabi...gcc version 8.3.0 (Ubuntu/Linaro 8.3.0-23ubuntu2) 

主要关注第二行的COLLECT_GCC信息和最后一行的版本信息(版本可能略有不同)。 以同样的方式确认g++-8的安装结果:

arm-linux-gnueabi-g++ -v

正确安装g++交叉编译器之后,应该出现以下信息:

Using built-in specs.COLLECT_GCC=arm-linux-gnueabi-gccCOLLECT_LTO_WRAPPER=/usr/lib/gcc-cross/arm-linux-gnueabi/8/lto-wrapperTarget: arm-linux-gnueabi...gcc version 8.3.0 (Ubuntu/Linaro 8.3.0-23ubuntu2) 

主要关注第二行的COLLECT_GCC信息和最后一行的版本信息(版本可能略有不同)。

参考信息:

gcc-8:

https://packages.ubuntu.com/bionic-updates/amd64/gcc-8-arm-linux-gnueabi/download

g++-8:

https://packages.ubuntu.com/bionic-updates/amd64/g++-8-arm-linux-gnueabi/download

安装Eclipse CDT

下载EclipseCDT

进入下面的网页:

https://www.eclipse.org/downloads/packages/

选择下图红框中的Eclipse IDE for C/C++ Developers:

b610795bf39d1a02685536dc07cac5ca.png

由于要在Ubuntu上运行这个开发环境,因此选择[Linux 64-bit]进行下载。

安装

在适当的位置使用以下命令解压缩安装包(表明可能略有不同)。

tar -zxvf eclipse-cpp-2019-12-R-linux-gtk-x86_64.tar.gz

进入加压缩得到的eclipse目录,启动eclipse:

./eclipse

如果不能成功启动,一般就是Java环境不具备,自行安装jre或者jdk即可。

建立交叉编译项目

构建项目

进入加压缩得到的eclipse目录,启动eclipse:

./eclipse

如下图选择工作目录并按下[Launch]按钮:

71a9c33d2d6878b5e29de2d526f7ab81.png

通过如下菜单选择创建新项目:

[File]-[New]-[Project]

选择[C/C++Project]作为项目类型,进入下一步:

7cfcfe218239507da94d13e7da82f035.png

选择[C++ ManagedBuild]之后,进入下一步:

67b27753add58514c934c3c23f64e8fa.png

选择[Cross GCC]之后进入下一步:

5e9a3defe27028741a1003e0dd19f19b.png

直接进入下一步:

93fc8e85119f805aed888cf17ec4f8ae.png

在下面的画面中配置交叉编译器,之后按下[Finish]结束。

219b7cb38e2b7242fc8cc2fe18e071c6.png

配置内容:

1.在[Cross compiler prefix]编辑框中输入[arm-linux-gnueabi-]

2.为[Cross complier path:]项目选择[usrbin].

编写验证程序

参照下图为arm_cpp项目添加arm_cpp.cpp文件:

de150f5ec7ea15f8151c9f2fc8ae9936.png

编辑以下内容:

#includeint main(){    std::cout << "Hello GCC/G++ Compiler!" << std::endl;    return 0;}

通过以下菜单编译arm_cpp工程:

[Project]-[Build Project]

在eclipse的Console栏中出现如下内容()就表示大功告成!

16:29:17 **** Build of configuration Debug for project arm_cpp ****make all Building file: ../arm.cppInvoking: Cross G++ Compilerarm-linux-gnueabi-g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"arm.d" -MT"arm.o" -o "arm.o" "../arm.cpp"Finished building: ../arm.cpp Building target: arm_cppInvoking: Cross G++ Linkerarm-linux-gnueabi-g++  -o "arm_cpp"  ./arm.o   Finished building target: arm_cpp 16:29:17 Build Finished. 0 errors, 0 warnings. (took 382ms)

觉得本文有帮助?请分享给更多人。

更多精彩文章欢迎关注微信公众号【面向对象思考】!

面向对象开发,面向对象思考!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值