前言       

         经过了对ara2c项目makefile的编写,接下来尝试将aria2c项目搬到eclipse上(Linux:Ubantu),方便调试。(不依赖IDE调试的话,目前还不熟练,因此为了加快对项目的理解,使用IDE对其进行调试)。

一、安装Eclipse

1 安装Eclipse 

在Terminal中输入以下命令测试是否安装了Eclipse:
eclipse

如果没有安装,系统会提示你使用什么命令去安装eclipse,如下命令即可安装所需要的JDK等其他依赖关系:

sudo apt install eclipse-platform

此时安装完的Eclipse应该是默认隐藏了菜单栏的,参考Ubuntu中Eclipse的菜单栏显示问题即可。

sudo gedit /etc/profile

在文件最后添加export UBUNTU_MENUPROXY=0 保存并重启系统,即可在菜单栏中看到Eclipse的图标。

2 配置C/C++开发环境 

使用如下命令:
sudo apt-get install build-essential
sudo apt-get install eclipse-cdt

重启Eclipse即可创建C/C++项目进行测试了。

3、测试

     新建一个项目:File->New->C++Project->Executable->Empty Project。 填写项目名称:cpptry

Toolchains (这个跟编译器相关,如果是mingw选择Cross, 如果是gnu选择Linux GCC):Cross GCC,如下图。

完成连续下一步即可完成项目建立。


     右击项目添加一个source File, 名为main.cpp

/*
 * main.cpp
 *
 *  Created on: Apr 20, 2018
 *      Author: cong
 */
#include<stdio.h>

int add(int first, int second)
{
	return first + second;
}
int main()
{
	printf("hello\n");
	int first,second;
	scanf("%d%d",&first, &second);
	printf("%d + %d = %d", first, second , add(first, second));
	return 0;
}

       最后制定编译器(最关键的一步)。比如可以指定x86_64-w64-mingw32-gcc或者x86_64-linux-gnu-gcc(gcc),这两者是64bit。右击项目Project->Properties,在弹出的框中点C/C++Build->Settings,将GCC C Compiler,GCC C++ 、Linker和Assembler的命令分别换成x86_64-w64-mingw32-gcc, x86_64-w64-mingw32-g++、x86_64-w64-mingw32-g++和x86_64-w64-mingw32-as,可能直接填x86_64-w64-mingw32-gcc编译就会提示x86_64-w64-mingw32-gcc not found。如果这样,需要把对应命令完整路径填入其中。

//便可以知道指定编译器所在路径
which x86_64-w64-mingw32-gcc

二、配置aria2c项目

     前提系统安装好相应库文件,详细看:https://blog.csdn.net/qq_33850438/article/details/80199588

    完成了前面的配置,剩下的就比较简单了,不过比较繁琐。下面以x86_64-w64-mingw32为例子讲述(注意,生成的exe只能在windows上运行,想要在下调试Linux,需要配置x86_64-linux-gnu,这两者大同小异。我都试过)

    这个项目刚开始编译的时候,也没有一气呵成,导入所需要源文件,剔除不需要源文件等等。

     然后根据configure和makefile.am文件,可以很好知道系统已经准备的安装环境。这时就可以哪些文件需要加入编译,哪些不需要。./configure执行结果如下图:


从上图也可以看出编译链接的时候需要什么样选项参数。接下来配置项目的编译参数。

1、项目整体结构(红色方框)


2、项目Cross GCC Compiler编译配置。(-I制定头文件路径)

3、项目Cross G++ Compiler编译配置。


4、项目Cross G++ Linker链接配置。(-L制定一些库文件路径。-l制定库文件)



5、Cross GCC Assembler汇编配置。


至此,此项目基本配置完成,后续遇到问题,需要自己慢慢思考,都是可以解决。

(可以参考项目自动生成makefile文件。将其makefile执行过程的语句打印出来分析,make -n 。 这样可以清楚看到自动生成的makefile如何编译链接项目的,这样我们就可以更加方便配置Eclipse的参数)

三、总结收获

    通过编写makefile,可以清楚的知道编译项目生成每一个文件的过程,所需要的库文件,路径、编译链接参数等等。使用IDE,正是配置这些参数,使其编译链接工作也是有条不紊的执行。可以通过观察IDE编译窗口,清晰看到这一点。
    在编译或者链接的过程出现问题,都可以有针对性的分析解决。(因此,还是有必要学习makefile)


四、参考

Eclipse配置:https://blog.csdn.net/colin_lisicong/article/details/70939143

                     https://blog.csdn.net/wang_shuai_ww/article/details/17227145


aria2c的makefile文件编写:https://blog.csdn.net/qq_33850438/article/details/80009669




Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐