目录:

    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++ —— 构建开源的开发环境的更多相关文章

  1. [.net 面向对象程序设计深入](5)MVC 6 —— 构建跨平台.NET开发环境(Windows/Mac OS X/Linux)

    [.net 面向对象程序设计深入](5)MVC 6 —— 构建跨平台.NET开发环境(Windows/Mac OS X/Linux) 1.关于跨平台 上篇中介绍了MVC的发展历程,说到ASP.NET ...

  2. Spark:利用Eclipse构建Spark集成开发环境

    前一篇文章“Apache Spark学习:将Spark部署到Hadoop 2.2.0上”介绍了如何使用Maven编译生成可直接运行在Hadoop 2.2.0上的Spark jar包,而本文则在此基础上 ...

  3. 为 Python Server Pages 和 Oracle 构建快速 Web 开发环境。

    为 Python Server Pages 和 Oracle 构建快速 Web 开发环境. - 在水一方 - 博客频道 - CSDN.NET 为 Python Server Pages 和 Oracl ...

  4. 使用Eclipse+Maven+Jetty构建Java Web开发环境(几个教程综合集成2014发行)

    工作需要使用Jetty由于web集装箱,得知Eclipse+Maven+Jetty该组合是非常好的,因此,要在网上找了很多教程,但不写或多或少特定的或过时的内容而导致最终的配置失败,易于配置为未来的同 ...

  5. 强推一款开源集成开发环境——Geany

    本人是一个标标准准的程序员,集成开发环境在电脑上大概看一下有:Code Blocks(C/C++),VS(C#,C/C++),eclipse(Java),Hbuild和web storm(前端),py ...

  6. vue第三单元(webpack的应用-能根据具体的需求构建对应的开发环境)

    第三单元(webpack的应用-能根据具体的需求构建对应的开发环境) #课程目标 理解什么是单页面应用. 掌握单页面和多页面的差异. 了解单页面的实现原理. 掌握模块化的方式实现webpack配置,区 ...

  7. Python开发篇——构建虚拟Python开发环境(Conda+Poetry)

    前言 之前虽略有提及Python,但是没有实际地写点料.惭愧,惭愧,所以这次先起个头,讲讲如何构建虚拟Python开发环境.相信之前看过我博客的人可能会想:博主不会又要聊聊Docker吧?放心,不会. ...

  8. Visual Studio Code 构建C/C++开发环境

    转自: https://blog.csdn.net/lidong_12664196/article/details/68928136#visual-sutdio-code%E4%BB%A5%E5%8F ...

  9. Win10系统下安装编辑器之神(The God of Editor)Vim并且构建Python生态开发环境(2020年最新攻略)

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_160 众神殿内,依次坐着Editplus.Atom.Sublime.Vscode.JetBrains家族.Comodo等等一众编辑 ...

随机推荐

  1. vs2010安装路径解决不能修改的方法

    环境:win7 64位 解决:网上说需要卸载以下4项 Microsoft Visual Studio Tools for Applications 2.0 - ENU Microsoft Visual ...

  2. 继承语法含有main()方法

    package me.ybleeho; class Cleanser{ //清洁剂 private String s="Cleanser"; public void append( ...

  3. 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|< ...

  4. javascript--15条规则解析JavaScript对象布局(__proto__、prototype、constructor)

    大家都说JavaScript的属性多,记不过来,各种结构复杂不易了解.确实JS是一门入门快提高难的语言,但是也有其他办法可以辅助记忆.下面就来讨论一下JS的一大难点-对象布局,究竟设计JS这门语言的人 ...

  5. phpcms V9利用num++实现多样形式列表标签调用

    在首页或者频道页调用文章列表的时候,经常会使用到左右对称或者每五行出现一条横线的调用形式. 其实代码很简单,利用num++的循环方式,以及{if}{/if}进行样式判断即可.代码如下: {pc:con ...

  6. java 按天创建文件夹

    按天创建文件夹,也就是每天创建一个,适合上传文件服务使用,文件数量较多时可以按文件夹区分. public static final String FMT = "yyyy-MM-dd" ...

  7. js时间戳转为日期格式

    转自:http://wyoojune.blog.163.com/blog/static/57093325201131193650725/ 这个在php+mssql(日期类型为datetime)+aja ...

  8. SharePoint 2013 弹窗效果之本地HTML打开方式(二)

    上一篇我们主要讲述如何通过showModalDialog方法进行弹出窗体,同时弹出信息定义在新的页面(Application Page),使用 SP.UI.$create_DialogOptions( ...

  9. 转:关于PHP性能优化

    原文来自于:http://www.cnblogs.com/qq78292959/archive/2012/12/28/2837272.html 1.升级硬件的一般规则:对于 PHP 脚本而言,主要的瓶 ...

  10. wlan的QOS配置

    WLAN QoS配置 1.1  WLAN QoS简介 802.11网络提供了基于竞争的无线接入服务,但是不同的应用需求对于网络的要求是不同的,而原始的网络不能为不同的应用提供不同质量的接入服务,所以已 ...