为什么需要使用cmake创建codeblocks项目?

我们知道使用IDE开发c++项目非常方便,但是为什么还需要cmake创建项目呢?CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。只需简单两行命令cmake ..make 就可以把一个项目c++项目编译出来,而且不受平台限制;

而使用可视化的IDE是需要依赖平台的,即使我们使用的是夸平台的IDE也只能在一款IDE中打开编译,这就限制了夸平台开发及夸平台编译了。

而使用cmake可以完美的解决这个问题。CMake可以直接编译出VS、XCode、CodeBlocks等工程文件,后续的编码工作都是通过IDE来完成,当需要增加、删除源文件的时候,修改一下CMakeLists.txt,在编译,工程文件会自动刷新。

使用CMake这就能实现使用IDE开发、调试代码,处处编译代码的需求

cmake创建Code::Blocks项目

其实使用由cmakeCode::Blocks非常简单,只需要在cmake执行时,添加输出codeblocks选项即可

cmake .. -G "GodeBlocks - Unix Makefiles"

Cmake命令行使用:
-G 指明生成的Makefile格式
-D 添加参数
-S 指明源码位置
-B 指明输出路径
例如:
cmake -G “MinGW Makefiles” -S “源码路径” -B “输出路径”
或者
cmake -G “MinGW Makefiles” -D CMAKE_TOOLCHAIN_FILE=“编译工具链路径” -S “源码路径” -B “输出路径”
注意:Cmake是不支持中文的,无论是GUI还是命令行,都严禁出现中文字符.

已存在cmake项目导入到Code::Blocks开发

以前面那篇CMakeLists.txt为例,创建过程见这里

  • step.1 进入build目录,执行命令
cd build
cmake .. -G "CodeBlocks - Unix Makefiles"
# 生成*.cbp文件,即:Code:Blocks的工程文件

  • step.2 打开codeblocks


    step.3 配置Project的Properties
    Project->Properties,选择Build targets,点击Add创建两个DebugRelease
    如下配置:

step.4 配置 Project-> Build Options
在Pre/post Build Steps 中添加如下命令:

cmake ..
make


点击ok后,执行编译,出现如下提示

在顶部的工具栏中,选择构建对象Debug,在执行编译

完成!

cmake创建codeblocks项目相关推荐

  1. 使用cmake组建跨平台项目

    在开发c++项目时,采用cmake来组建项目十分方便,特别是需要支持跨平台时更是如此,cmake项目可以直接转换为visual studio项目,qt项目,client项目等. 1.cmake项目的核 ...

  2. 使用Cmake生成跨平台项目编译解决方案

    项目最近有需求在windows下面运行,我花了几周时间将linux的服务器移植到windows下面,目前已经能够正常运行服务器,目前又有了新需求,两边的代码结构和组织是分开的,因此为了两边能够同步维护 ...

  3. Eclipse+Maven创建web项目

    有时候我们想用eclipse+maven创建web项目,怎么操作呢,下面我来给大家来分享一下方法 所需工具 已经安装了maven插件的elipse 步骤 1.打开eclipse,右键new--othe ...

  4. Java开发环境的搭建以及使用eclipse从头一步步创建java项目

    原文:出自本人的Linux博客http://blog.csdn.net/unix21/article/details/18813173 一.Java 开发环境的搭建 这里主要说windows环境下怎么 ...

  5. 使用SVN+Axure RP 8.0创建团队项目

    一.使用到的工具: VisualSVN Server --SVN服务器:https://www.visualsvn.com/server/ Axure RP 8.0  :http://www.down ...

  6. 使用idea创建springboot项目并打成war包发布到weblogic上...

    部署tomcat也是类似的,但是需要注意项目配置的路径,或者直接将项目放到webapp的ROOT目录下. 使用工具:intelliJ IDEA2016.3, jdk1.8 ,weblogic12 一 ...

  7. 介绍一个懒人创建springmvc项目的方法(二)

    PS: 我是一个懒人,我懒得搭建项目连pom都不想去找,连web.xml都不想配置.所以就会想着找一些简便的办法,来适应我这种懒人. ---------------------------- 本人介绍 ...

  8. 创建Django项目和模型(创建工程、子应用、设置pycharm环境、使用Django进行数据库开发的步骤)

    1.创建Django项目 文档:Writing your first Django app, part 1 | Django documentation | Django 步骤 创建Django项目 ...

  9. Eclipse 创建 Java 项目概述

    Eclipse 是一个开放源代码的.基于 Java 的可扩展开发平台.Eclipse 是 Java 的集成开发环境(IDE),当然 Eclipse 也可以作为其他开发语言的集成开发环境,如C,C++, ...

最新文章

  1. 105.通信同步异步定义及其相关
  2. 日志查看工具 linux,用 Logwatch 工具查看 Linux 系统 Log 日志
  3. HttpURLConnection与 HttpClient 区别/性能测试对比
  4. tesseract4.0.0 中文语言包_一份TensorFlow2.0中文教程
  5. Redis之GeoHash
  6. 2010年最具潜力微博网站排行榜(转)
  7. 配置.net连接数据库的配置文件
  8. Solidity编程 二 之Solidity安装
  9. tshark删除pcap文件中与网关通信的数据包
  10. java 获取文件扩展名_如何在Java中获取文件扩展名
  11. 1250. Sea Burial
  12. 面向对象-java控制台计算器简单实现[50行]
  13. 安川840_郑州安川伺服电机840故障维修驱动器显示840怎么办
  14. 用了一个多月时间治好了自己的胸膜炎
  15. hotmail手机端_hotmail邮箱手机版
  16. 赵小楼《天道》《遥远的救世主》深度解析(120)信息储备是必要的强势文化之一
  17. 光学系统像差的计算机模拟,XCCHJJ-B 光学系统像差传函焦距测量综合实验装置
  18. Firewall 防火墙常用命令
  19. 关于OPC Client 编写
  20. 自学类网站和实用工具(网文来自敖丙)

热门文章

  1. 宇视摄像机接存储卡是否支持热插拔?
  2. python练习.一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
  3. 用ScreenToGif录屏并生成gif动图
  4. 本特利Bently Nevada 330180-91-05 本特利传感器
  5. 学区房 | 入学要求房产面积大于60平的小学周边有多少小区
  6. deepin efi 启动u盘_【2017.12.16】启动U盘简单手动制作BIOS+UEFI的syslinux/grub/boomgr/grub2互转...
  7. java pdf转jpg 多张图片合成一张
  8. [附源码]计算机毕业设计springboot宠物领养与物品捐赠小程序
  9. 活着就是为了改变世界,人工智能缓解气候异常的4种方式
  10. 【STM32】贪吃蛇小游戏