[讨论] 别问理由了,咱们来蛋疼一下gnu工具链吧

辛昕   2012-6-23 10:52 楼主
gnu这个词说起来,可能没说gcc更容易让人“哦”一声

其实简单滴说,gcc 就是 gnu compiler collection——GNU下的一系列编译器,虽然它曾经并且现在经常让人以为只是一个C/C++编译器,但实际上它现在还能编译好几种语言,比如Pascal Ada Java。

好吧,linux的东西好像一直都很有文化。咱们不扯那么多,咱们首先把 这个东西装起来再说。
在linux下,gcc是现成附带的。没啥压力——除非你要搞 交叉编译。

现在我是想在windows下面装好gcc。

windows下有两个版本的gcc,一个是Cygwin,一个是MinGW.
懒得去研究谁好谁坏,只是那么巧,我刚开始玩的MinGW,然后我找到的比较好的参考资料,也是基于它的,所以我自然也就选择了它。

在论坛里,我曾经发过一个帖子,里头附带了一个exe的MinGW,那个装起来,基本没压力。
但是,没太大意思,比方说,你就不知道怎么通过重新编译包来直接更新到最新的释出版本。

如果让我每次为一个新版本去重新搞一次,我会想死的,相信你也是,所以,上次,想不开了,我又开始学着怎么编译了。

网上这方面的资料实在是少的很可怜,下边这个是我无意找到的,所幸,照着他做,我真的搞定了~~~

下面,我先把这个资料传上来,然后我再整理一下。

XP下编译和升级gcc.doc (42.5 KB)
(下载次数: 26, 2012-6-23 10:52 上传)


强者为尊,弱者,死无葬身之地

回复评论 (5)

MinGW这玩意是原生的,嗯 ,这理由够了。
现在是在一个 MSYS下玩的,这玩意玩过linux的哥们都会觉得很熟悉。
不过我希望直接CMD解决问题.......
强者为尊,弱者,死无葬身之地
点赞  2012-6-23 12:14

一个更简单的安装方法

请大家忘了我上面上传的附件。

我在MinGW的官网的Getting Start中见到更简单的安装方法。

啥都别说,咱们把过程 贴上来,就几步

//--------------------------------------------------------------------------------

Getting Started的内容
1.        没事不要把MinGW装在任何带 什么 Program file一类的文件夹下,省得不同的程序出现冲突。
2.        两种安装方法:
其中一种是 图形界面,也就是 mingw-get-inst安装包。

命令行安装
1.        下载 最新的 mingw-get然后解压。
2.        设置环境变量。

安装过程
最终,根据这个介绍,我在这里,下载到一个最新版本的 mingw-get
http://sourceforge.net/projects/mingw/files/Installer/mingw-get/

然后看了看,貌似这个东西和我第一次装的时候用的那个是类似的,它是自动的把所有相关的包一并下载安装的——太好了~~~

这个过程其实也挺快,本来嘛!我就是装个gcc

接下来,还可以按照类似的格式,安装所需要的插件。

但是有点让我不安的是,我安装时,总是提示我有两个xml文件缺了。
但我一时半会也不知道那是啥,而且我是照着方法做的。
也许是我下的最新包反而缺了这个?
——不是没可能,因为我上一次安装另一个版本的时候,也试过一个文件不行,另一个就行。
还没写完呢,g++就给我装好了,接着装!
那两个文件是 profile.xml
defaults.xml

又好了,网速还真给力!

该Getting Started提供的可以选择性加装的东西有这些。
但我只装了几个
Gcc g++ mingw32-make gdb

•        g++ (C++ compiler)
•        fortran (Fortran 90/95 compiler)
•        ada (Ada compiler)
•        java (Java compiler)
•        objc (Objective-C compiler)
•        mingw32-make (GNU make)
•        gdb (GNU debugger)
•        msys-base (MSYS shell environment)
安装命令很简单,和apt-get很像
Mingw-get install gcc g++
诸如此类。

关于msys,这个东西,我上一次装的时候就是在它下边玩的。
我只知道这玩意玩起来跟linux bash shell一模一样,除了样子很丑。
但是,既然在windows下,我就只想在cmd下玩,所以懒得去碰。
点赞  2012-6-23 15:45

总结一下这几天的蛋疼

这几天实在是蛋疼的不轻。
一直在折腾gcc(MinGW).

到最后,已经能够很轻易地搞定这个曾经很蛋疼的问题了。

不过装好了gdb的我,我还没全部看完全英文的gdb document。
只是,从一页网页来看,似乎它真的只是一个调试器,并不如我想象的带有那些高级的分析工具。

搞到这个时候,我突然在想自己到底这么蛋疼是为了什么?
是的,最初,我只是为了利用gcc搭建一套完整的功能足够强大的编程工具——因为我是在单片机上工作的,所以我当然希望,并且认为gcc的强大和广泛应用,应该是有希望实现用一个统一的gcc平台,取代那些变来变去的ide。

当然如果它一直是iar之类的我也没意见。
问题是它变来变去,比如我工作使用的一款莫名其妙的ide,说实话,直到现在我还很蛋疼它。

然而这些天看了看,也许是我不太会看它的支持架构,至少我就觉得让gcc支持stm8似乎没啥戏。

所以,我要反过来考虑另一个解决方案了。
比方说,这些我想要的 编程工具,有一些独立的第三方方案,然后大多数编译器都有他们的接口。
比如pc-lint。我就在我使用的那款工作用的ide上见到它的接口。

接下来更详细的内容,请参考 我在 代码大全 笔记里的更新吧。
这部分关于 编程工具 的内容其实早该整理出来了。
强者为尊,弱者,死无葬身之地
点赞  2012-6-24 02:08
mark
点赞  2012-6-24 22:10
没玩过linux,我落伍啦
点赞  2012-6-25 08:33
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复