【GNU】自由软件开发C&C++(环境安装篇)
2015-07-05 11:59
696 查看
1. 环境说明
一般我们在进行GNU相关软件开发之前都需要下载环境所需的SHELL命令控制台及工具集;在WINDOWS平台下最老牌的肯定是MSYS,但由于MSYS很多地方在使用过程中都需要手动从SourceForge下载工具集包再拷贝到本地安装,而这种方式也经常会有一些莫名其妙的问题产生,所以现在开源社区GitHub上已经有MSYS2升级版本,这个用起来可以直接通过“pacman”命令对更多的工具集包进行管理。当然除了MSYS与MSYS2之外,我们还可以使用Cygwin,Cygwin与MSYS目标大致相同,都是在WINDOWS平台模拟UNIX-LIKE SHELL命令管理系统以及一系列工具集包,Cygwin安装工具集包时只用在安装窗口进行勾选相应的功能即可。2. MSYS与Cygwin区别
MSYS主要和MINGW-GCC(GNU WINDOWS平台编译工具集)配合把源程序直接编译成平台可执行文件;而Cygwin更多的侧重于交叉编译——与Cygwin-GCC(UNIX-LIKE平台编译工具集)配合,编译出来的文件在WINDOWS中需要依赖(cygwin1.dll)文件才可执行,这是因为Cygwin-GCC相当于把源程序编译成了UNIX-LIKE平台中的可执行文件,而(cygwin1.dll)起到一个桥梁作用,把WIN32 API进行了封装并提供一套UNIX-LIKE API函数集;当然,如果我们想直接使用Cygwin命令窗口把源程序直接编译成本地平台可执行代码的话,那么咱们可以在Cygwin中不使用Cygwin-GCC而是与MINGW-GCC进行配合编译即可。3. 操作说明
● 由于MSYS的使用太过于陈旧,很多包都需要从SourceForge下载再进行安装;为了节省时间,我直接采用MSYS2升级版本进行操作,而MSYS的具体操作我这边就不写出来了;● 目前操作环境只是针对C语言进行编写,如果需要安装C++环境只用参考C环境步骤进行变通即可。
4. 操作注意
我这里操作采用的是Windows XP SP3 操作系统,并且我操作下载的软件或工具包版本都是i686,如果是WIN7或以上操作系统版本则采用x86_64版本。5. MSYS2环境安装
打开MSYS2的Github官方主页:http://msys2.github.io/ 选择安装程序进行下载;下载完毕之后,按照官方所示进行安装和升级包;再之后,参考以下方式配置环境并编译小例子。5.1. 安装MINGW-GCC
命令执行完毕后等待下载完毕,如果中途下载有些包下载失败再重新把命令执行一下即可,“pacman”会智能进行分析下载情况得。$pacman -S mingw-w64-i686-gcc
5.2. 示例代码
#include <stdio.h> int main(){ printf("Hello World\n"); return 0; }
5.3. 利用VIM创建源文件
使用VIM把示例代码复制保存进文件中(VIM使用“i”开始编辑,“ESC”退出编辑,“:wq”保存退出)。$pacman -S vim $vim test.c
5.4. 编译运行
如果执行下列代码内容能够打印正常结果则我们环境配置成功。$export PATH="$PATH:/mingw32/bin" $i686-w64-mingw32-gcc -s test.c -o test.exe $./test.exe
5.5. 结论
根据上述操作内容可以得出结论——我们想要编写更强大的功能则只需要使用“pacman”命令对第三方工具集包进行下载并导入到环境中,然后再到代码中使用即可;如:GUI图像界面(GTK、GTKMM、QT)、XML解析(libxml)、等;另外,“pacman”命令详细使用请参考:MSYS2 Pacman命令管理工具集篇,本文不作赘述。6. Cygwin环境安装
打开Cygwin的官方主页:https://www.cygwin.com/ 选择安装程序进行下载;下载完毕之后,按照以下操作方式进行安装与配置。6.1. 程序安装
双击打开程序“setup-x86.exe”参考下列图片所示步骤进行安装Cygwin。6.2. 安装MINGW-GCC
参考上述第八个步骤,咱们再次打开安装程序进行安装并下载需要的内容;需要注意的是其他步骤大致相同唯有第八个步骤。● 选择“Devel & Default”>>“mingw64-i686-gcc-core”;版本号:4.9.2-2。
6.3. 示例代码
#include <stdio.h> int main(){ printf("Hello World\n"); return 0; }
6.4. 利用VI创建源文件
使用VI把示例代码复制保存进文件中(VI使用“i”开始编辑,“ESC”退出编辑,“:wq”保存退出);注意:VIM是VI的升级版本。$vi test.c
6.5. 编译运行
如果执行下列代码内容能够打印正常结果则我们环境配置成功。$i686-w64-mingw32-gcc -s test.c -o test.exe $./test.exe
6.6. 安装Cygwin-GCC
参考上述第八个步骤,咱们再次打开安装程序进行安装并下载需要的内容;需要注意的是其他步骤大致相同唯有第八个步骤;主要注意的是我目前操作的是Windows XP操作系统,因为Cygwin-GCC版本目前只有x86_64且运行只支持WIN7以上操作系统,所以无法直接演示。● 选择“Devel & Default”>>“cygwin64-gcc-core”;版本号:4.9.2-1。
6.7. 结论
根据综上操作我们得出结论,想要安装第三方更多的工具集包就可以利用图形界面方式进行安装下载;并且Cygwin相当于工具平台,不仅仅支持自己特有的CYGWIN-GCC而且还支持MINGW-GCC来编译处理;注意:第三方工具集包还可以利用命令行来操作,请参考:Cygwin命令管理工具集篇,本文不作赘述。相关文章推荐
- 关于C++中用两个迭代器方式初始化string的知识
- 算法导论学习---红黑树详解之插入(C语言实现)
- C++关于磁盘的数据的操作
- 【C语言】编写函数实现库函数atof
- 【C语言】编写函数实现库函数atoi,把字符串转换成整形(考虑数字过大)
- VC++6.0 Debug单步调试简单入门
- C++ traits技术
- C语言中全局变量、局部变量、静态全局变量、静态局部变量的区别
- 重温《C++ Primer》笔记九 const形参小结
- 《C语言及程序设计》实践参考——链表版通信录
- 《C语言及程序设计》实践参考——改造链表
- C++ 对象的定义
- C++ 函数适配器
- 《C语言及程序设计》实践参考——拆分链表
- C++ Primer学习笔记(10)——如何读写文件
- 《C语言及程序设计》实践参考——链表的合并
- 《C语言及程序设计》实践项目——链表初步
- visual C++ 2003
- 《C语言及程序设计》程序阅读——链表初步
- c++ primer 学习笔记 3 变量与基本类型