C++ —— 构建开源的开发环境
目录:
1、开源环境的选择:IDE+编译器
2、构建步骤
1、开源环境的选择:IDE+编译器
在这里选择都是发布在GPL license 下的工具:codeblocks 和 gnu gcc
codeblocks 最新版下载:http://www.codeblocks.org/downloads/binaries
gcc release 说明:这里是gcc源码发行说明 -> 发行的是gcc源码(因为每次有更改时要同时为多个平台提供预编译好的文件很难)->选择不同的平台自己去下载 -> 这里我选择Windows 的MinGW ,进入对应网站介绍 ->简单了解后,点击downLoad 进入 SourceForge 下载页面 -> 在页面中,点击Download mingw-get-setup.exe (86.5 kB) 下载 MinGW安装管理器 。 (这些过程可能需要F GFW)
这个管理器也是GPL开源的,功能是可以让你选择想要安装的 gnu gcc 编译器版本,如C编译器、C++编译器、Ada编译器等,然后在线下载并得到最终的编译器。
2、构建步骤
在官网下载 codeblock后,新建一个简单的console项目,这是简单的Hello World 也是执行不了的。因为默认下应该是没有编译器的,需要自己下载并在codeblocks里指定,这就是要下载上面提到的 MinGW的原因了。
在CodeBlock 指定编译器的方法: Setting -> Compiler... -> Select Compiler -> Gnu Gcc Compiler -> ToolChain executables -> 选择安装MinGW的目录(如下图)

在这之前,需要先用上面的 mingw-get-setup.exe 安装后的的 MinGW安装管理器 选择 想要安装的 gnu gcc 编译器版本来安装,因为这个只是一个管理器,本身没有编译器的任何东西,他只是提供方便的下载选择。
经过观察编译器的说明和我自己的需要,我选择了C和C++编译器,分别是mingw32-base 和 mingw32-gcc-g++:(如下图)

勾选之后,点击 Installation->apply changes 便会自动安装,安装完之后再在上面提到的CodeBlock选择安装目录那里指定你的安装MinGW的目录。
点击OK保存后,编译一个简单的C++ console Hello World 程序,编译器报错:
ld.exe not found -lpthread
这是缺少库 pthread 的意思,这个好像跟 posix 标准有关,这个gcc 运行使用的接口可能是用这个标准写的(由下图 thread mode:posix 猜测),所以需要用到相应的库。

所幸 MinGW安装管理器 也 提供了相关库的下载,如下:
All Packages -> MinGW -> MinGW Libraries -> 此时在右边的列表里,早到如图三个mingw32-pthreads-w32 (应该在最下面,class 为doc的那个是文档,不要的话应该也可以,其他dev 和 lic 我不知具体是什么,这两个最好要选上),然后同样在勾选之后,点击 Installation->apply changes 安装完应该就可以了。至少我是可以编译C\C++ Console程序了。

C++ —— 构建开源的开发环境的更多相关文章
- [.net 面向对象程序设计深入](5)MVC 6 —— 构建跨平台.NET开发环境(Windows/Mac OS X/Linux)
[.net 面向对象程序设计深入](5)MVC 6 —— 构建跨平台.NET开发环境(Windows/Mac OS X/Linux) 1.关于跨平台 上篇中介绍了MVC的发展历程,说到ASP.NET ...
- Spark:利用Eclipse构建Spark集成开发环境
前一篇文章“Apache Spark学习:将Spark部署到Hadoop 2.2.0上”介绍了如何使用Maven编译生成可直接运行在Hadoop 2.2.0上的Spark jar包,而本文则在此基础上 ...
- 为 Python Server Pages 和 Oracle 构建快速 Web 开发环境。
为 Python Server Pages 和 Oracle 构建快速 Web 开发环境. - 在水一方 - 博客频道 - CSDN.NET 为 Python Server Pages 和 Oracl ...
- 使用Eclipse+Maven+Jetty构建Java Web开发环境(几个教程综合集成2014发行)
工作需要使用Jetty由于web集装箱,得知Eclipse+Maven+Jetty该组合是非常好的,因此,要在网上找了很多教程,但不写或多或少特定的或过时的内容而导致最终的配置失败,易于配置为未来的同 ...
- 强推一款开源集成开发环境——Geany
本人是一个标标准准的程序员,集成开发环境在电脑上大概看一下有:Code Blocks(C/C++),VS(C#,C/C++),eclipse(Java),Hbuild和web storm(前端),py ...
- vue第三单元(webpack的应用-能根据具体的需求构建对应的开发环境)
第三单元(webpack的应用-能根据具体的需求构建对应的开发环境) #课程目标 理解什么是单页面应用. 掌握单页面和多页面的差异. 了解单页面的实现原理. 掌握模块化的方式实现webpack配置,区 ...
- Python开发篇——构建虚拟Python开发环境(Conda+Poetry)
前言 之前虽略有提及Python,但是没有实际地写点料.惭愧,惭愧,所以这次先起个头,讲讲如何构建虚拟Python开发环境.相信之前看过我博客的人可能会想:博主不会又要聊聊Docker吧?放心,不会. ...
- Visual Studio Code 构建C/C++开发环境
转自: https://blog.csdn.net/lidong_12664196/article/details/68928136#visual-sutdio-code%E4%BB%A5%E5%8F ...
- Win10系统下安装编辑器之神(The God of Editor)Vim并且构建Python生态开发环境(2020年最新攻略)
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_160 众神殿内,依次坐着Editplus.Atom.Sublime.Vscode.JetBrains家族.Comodo等等一众编辑 ...
随机推荐
- vs2010安装路径解决不能修改的方法
环境:win7 64位 解决:网上说需要卸载以下4项 Microsoft Visual Studio Tools for Applications 2.0 - ENU Microsoft Visual ...
- 继承语法含有main()方法
package me.ybleeho; class Cleanser{ //清洁剂 private String s="Cleanser"; public void append( ...
- WHU 1579 Big data (DP)
题意: f[0]=0,f[i]=f[i-1]+a or b. 求满足L<=∑f[n]<=R的序列的种数 n<100. |a|,|b|<=10000. |L|,|R|< ...
- javascript--15条规则解析JavaScript对象布局(__proto__、prototype、constructor)
大家都说JavaScript的属性多,记不过来,各种结构复杂不易了解.确实JS是一门入门快提高难的语言,但是也有其他办法可以辅助记忆.下面就来讨论一下JS的一大难点-对象布局,究竟设计JS这门语言的人 ...
- phpcms V9利用num++实现多样形式列表标签调用
在首页或者频道页调用文章列表的时候,经常会使用到左右对称或者每五行出现一条横线的调用形式. 其实代码很简单,利用num++的循环方式,以及{if}{/if}进行样式判断即可.代码如下: {pc:con ...
- java 按天创建文件夹
按天创建文件夹,也就是每天创建一个,适合上传文件服务使用,文件数量较多时可以按文件夹区分. public static final String FMT = "yyyy-MM-dd" ...
- js时间戳转为日期格式
转自:http://wyoojune.blog.163.com/blog/static/57093325201131193650725/ 这个在php+mssql(日期类型为datetime)+aja ...
- SharePoint 2013 弹窗效果之本地HTML打开方式(二)
上一篇我们主要讲述如何通过showModalDialog方法进行弹出窗体,同时弹出信息定义在新的页面(Application Page),使用 SP.UI.$create_DialogOptions( ...
- 转:关于PHP性能优化
原文来自于:http://www.cnblogs.com/qq78292959/archive/2012/12/28/2837272.html 1.升级硬件的一般规则:对于 PHP 脚本而言,主要的瓶 ...
- wlan的QOS配置
WLAN QoS配置 1.1 WLAN QoS简介 802.11网络提供了基于竞争的无线接入服务,但是不同的应用需求对于网络的要求是不同的,而原始的网络不能为不同的应用提供不同质量的接入服务,所以已 ...