#将下面的内容添加到CMakeLists.txt当中include(CheckCXXCompilerFlag) CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11) CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X) if(COMPILER_SUPPORTS_CXX11) set(CMAKE_CXX_FLAGS "$…
参考:<C Primer Plus>,Stephen Prata著,姜佑译. ANSI/ISO C标准 美国ANSI成立委员会X3J11,于89/90年,99年,11年,发布C标准:C89/C90,C99,C11. ANSI/ISO 各版本C标准 C标准 描述 经典C 也称K&R C,87年K&R著作<C语言程序设计>,成为C指导标准 C89/C90 89年ANSI C,90年ISO C,定义了C语言和C标准库.X3J11开发,同一套标准,发布名称/机构不同. 用意…
首先向博主致敬,好的东西拿来共享了,用一下不错. https://blog.csdn.net/clirus/article/details/62424517 0. 目标  最近在学习c++11,我本机装的CentOS编译器较老,不支持C++11的新特性,所以我需要把gcc从 4.4.7升级到4.8.1. 1. 需要下载gcc的源码 wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.1/gcc-4.8.1.tar.gz 当我们在自己的虚拟机中输入上面命令下载的时候,可…
C++11 的 Inheriting constructors 特性在 GCC 4.8 以前的版本及 VS2013 中都没有支持,测试起来比较麻烦,所以搜集到了几个支持 GCC 4.8 及更高版本的在线编译器. http://ideone.com/ http://coliru.stacked-crooked.com/ http://gcc.godbolt.org/ http://liveworkspace.org/ References: http://isocpp.org/blog/2013/…
# 相关链接:https://cmake.org/cmake/help/v3.0/module/CheckCXXCompilerFlag.html​​include(CheckCXXCompilerFlag)CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)if(COMPILER_SUPPORTS_CXX11)    add_definitions("-std=c++11") endif() C…
自定义变量 主要有隐式定义和显式定义两种. 隐式定义的一个例子是PROJECT指令,它会隐式的定义< projectname >_BINARY_DIR和< projectname >_SOURCE_DIR两个变量:显式定义使用SET指令构建自定义变量,比如:SET(HELLO_SRCmain.c)就可以通过${HELLO_SRC}来引用这个自定义变量了. 变量引用方式 使用${}进行变量的引用:在IF等语句中,是直接使用变量名而不通过${}取值. 常用变量 CMAKE_BINARY…
为了给同事分享C++11标准,需要一个演示C++11的编程环境.VS2013太大,安装起来不太方便.由于电脑上之前有安装codeblock,于是升级MinGW.去MinGW官网http://www.mingw.org/上去下载一个安装程序,安装完成后,打开安装管理器MinGW Installer,把Basci Setup里边的全都安装完.然后设置windows里的环境变量,打开codeblock的配置,配置编译器和调试环境.如下图. 然后创建一个C++工程,编译.代码如下:  auto是C++1…
############################################################################ # # Copyright (c) PX4 Development Team. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided th…
一. 为什么要使用cmake 理论上说,任意一个C++程序都可以用g++来编译.但当程序规模越来越大时,一个工程可能有许多个文件夹和源文件,这时输入的编译命令将越来越长.通常一个小型C++项目可能含有十几个类,各类间还存在着复杂的依赖关系.其中一部分要编译成可执行文件,另一部分要编译成库文件.如果仅靠g++命令,我们需要输入大量的编译指令,整个编译过程会变得异常繁琐.因此,对于C++项目,使用一些工程管理工具会更加高效.历史上工程师们曾使用makefile进行自动编译,但cmake要比它更加方便…
1.过程 .Required CMake Version (cmake_minimum_required) //CMake 需要的版本 .Package Name (project()) //#定义工程名称 .Find other CMake/Catkin packages needed for build (find_package()) //寻找需要用到的其他 CMake packages .Message/Service/Action Generators (add_message_fil…