目录:

    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. CGContextRef一点用法

      quartz 是主要的描画接口,支持基于路径的描画.抗锯齿渲染.渐变填充模式.图像.颜色.坐标空间变换.以及PDF 文档的创建.显示.和分析.UIKit 为Quartz 的图像和颜色操作提供了Ob ...

  2. Core Animation系列之CADisplayLink(转)

    转自 http://www.tuicool.com/articles/meMVR3 一直以来都想好好学习下CoreAnimation,奈何涉及的东西太多,想要一次性全部搞定时间上不允许,以后会断断续续 ...

  3. Java操作hbase总结

    用过以后,总得写个总结,不然,就忘喽. 一.寻找操作的jar包. java操作hbase,首先要考虑到使用hbase的jar包. 因为咱装的是CDH5,比较方便,使用SecureCRT工具,远程连接到 ...

  4. STL库list::sort()实现深度解析

    原创,转载请注明出处:STL库list::sort()实现深度解析 list模板的定义以及一些基本成员函数的实现这里我就不赘述了,还不清楚的同学可以到网上查找相关资料或者直接查看侯捷翻译的<ST ...

  5. [LeetCode OJ] Distinct Subsequences

    Given a string S and a string T, count the number of distinct subsequences of T in S. A subsequence ...

  6. SGU 133.Border

    水题不说了 #include <iostream> #include <cstring> #include <cstdio> #include <cmath& ...

  7. 读终端输入数据BufferedReader

    public static void main(String[] args) {        BufferedReader br=new BufferedReader(new InputStream ...

  8. java获取数据库数据表的元数据

    Connction conn; DatabaseMetaData dmd=conn.getMetaData();//获取数据库元数据 PreparedStatment ps; ps.getParame ...

  9. 封装JDBC:实现简单ORM框架lfdb

    作者:Vinkn 来自http://www.cnblogs.com/Vinkn/ 一.简介 框架就是一组可重用的构件,LZ自己写的姑且就叫微型小框架:lfdb.LZ也对其他的ORM框架没有什么了解,现 ...

  10. PHP 设计模式之适配器模式

    <?php //[主要角色] //目标(Target)角色:定义客户端使用的与特定领域相关的接口,这也就是我们所期待得到的 //源(Adaptee)角色:需要进行适配的接口 //适配器(Adap ...