美文网首页
CLion+CMake编写C++程序

CLion+CMake编写C++程序

作者: 科研小学霸 | 来源:发表于2019-04-08 20:29 被阅读0次

当在mac系统下编写c++程序时候,一般需要使用Xcode。如果不想装Xcode如何编译、运行程序呢?

一种方法是编写makefile文件,用makefile文件管理程序脚本之间的相互依赖关系;

另一种有效的方法就是利用cmake工具,自动生成makefile文件

要使用cmake必须在工程的每个文件夹中都编写CMakeLists.txt

一、CMake是一种跨平台编译工具,比make更为高级。CMake主要是编写CMakeLists.txt文件,然后用cmake命令将CMakeLists.txt文件转化为make所需要的makefile文件,最后用make命令编译源码生成可执行程序

二、cmake  指向CMakeLists.txt所在的目录,例如cmake .. 表示CMakeLists.txt在当前目录的上一级目录

CMakeLists.txt和Makefile目录结构

cmake会生成很多中间文件,所以建议新建一个文件夹存放,分四个步骤:

1、mkdir bulid  //新建文件夹存放编译的中间文件

2、cd bulid //进入bulide文件夹

3、cmake .. //因为CMakeLists.txt文件在当前目录的外面,所以cmake命令需要使用cmake ..

4、make //make命令根据makefile文件编译源码,在bulid目录下生成一个可执行文件,运行获取结果

CMakeLists.txt主要包含以上的7个步骤:

#1.cmake verson,指定cmake版本

cmake_minimum_required(VERSION 3.13)

#2.project name,指定项目的名称,一般和项目的文件夹名称FirstProject对应

PROJECT(FirstProject)

#3.head file path,头文件目录

INCLUDE_DIRECTORIES()

#4.source directory,源文件目录

AUX_SOURCE_DIRECTORY(src DIR_SRCS)

#5.set environment variable,设置环境变量,编译用到的源文件全部都要放到这里,否则编译能够通过,但是执行的时候会出现各种问题,比如"symbol lookup error xxxxx , undefined symbol"

SET(TEST_MATH)

#6.add executable file,添加要编译的可执行文件

ADD_EXECUTABLE(${PROJECT_NAME} ${TEST_MATH})

#7.add link library,添加可执行文件所需要的库(命名规则:lib+name+.so),就添加该库的名称

TARGET_LINK_LIBRARIES(${PROJECT_NAME} m)

CMakeList样例图

相关文章

  • CLion+CMake编写C++程序

    当在mac系统下编写c++程序时候,一般需要使用Xcode。如果不想装Xcode如何编译、运行程序呢? 一种方法是...

  • (四)在安卓上运行Tensorflow C++可执行文件

    编写c++模型前向运算程序 用cmake编译安卓端可执行文件 编写c++模型前向运算程序 ndk独立交叉工具链安装...

  • C++ Primer Plus(第6版)编程练习-第二章

    内容仅供参考,如有错误,欢迎指正 ! 1.编写一个c++程序,它显示您的姓名和地址。 2.编写一个c++程序,它要...

  • C++程序设计与数据结构算法视频教程

    课程目标:使学员深入了解C++语言,能够熟练使用C++编写程序。通过学习数据结构,能用C++编写出更加灵活,巧妙,...

  • C++ 编写 ROS node

    引言 用 C++ 编写的 ROS node 程序本质上依然是 C++ 程序,只不过额外添加了 ROS 相关的内容,...

  • iOS LLVM编译流程

    LLVM LLVM是架构编译器(compiler)的框架系统,由C++编写完成,用于优化已任意程序编写的程序的编译...

  • LLVM与Clang的概述及关系

    LLVM是构架编译器(compiler)的框架系统,以C++编写而成,用于优化以任意程序语言编写的程序的编译时间(...

  • LLVM-1.Clang

    LLVM是架构编译器(compiler)的框架系统,以C++编写而成,用于优化以任意程序编写的程序的编译时间(co...

  • LLVM

    概述 LLVM是构架编译器(compiler)的框架系统,以C++编写而成,用于优化以任意程序语言编写的程序的编译...

  • C++ Primer 第一章

    1 快速入门 1.1.2 编写简单的C++程序 std::out << "Enter two numbers: "...

网友评论

      本文标题:CLion+CMake编写C++程序

      本文链接:https://www.haomeiwen.com/subject/qwxmiqtx.html