zoukankan      html  css  js  c++  java
  • cmake_learn

    bash: cmake: 未找到命令...
    决定代码的组织方式及其编译方式,也是程序设计的一部分。。因此,我们需要cmake和autotools这样的工具来帮助我们构建并维护项目代码。

    其实,cmake和autotools正是makefile的上层工具,它们的目的正是为了产生可移植的makefile,并简化自己动手写makefile时的巨大工作量。

    对于大多数项目,应当考虑使用更自动化一些的 cmake或者autotools来生成makefile,而不是上来就动手编写。

    这里只给出cmake的一些主要特点:
    1.开放源代码,使用类 BSD 许可发布。
    2.跨平台,并可生成 native 编译配置文件,在 Linux/Unix 平台,生成 makefile,在 苹果平台,可以生成 xcode,在 Windows 平台,可以生成 MSVC 的工程文件。
    3.能够管理大型项目,KDE4 就是最好的证明。
    4.简化编译构建过程和编译过程。Cmake 的工具链非常简单:cmake+make。
    5.高效率,按照 KDE 官方说法,CMake 构建 KDE4 的 kdelibs 要比使用 autotools 来 构建 KDE3.5.6 的 kdelibs 快 40%,主要是因为 Cmake 在工具链中没有 libtool。
    6.可扩展,可以为 cmake 编写特定功能的模块,扩充 cmake 功能。

    https://cmake.org/download/ 下载cmake包

    .将下载的安装包放到 /usr路径

    tar -xvzf cmake.tar.gz

    cd cmake-3.10.1/

    ./bootstrap

    gmake install

    安装完成

    cmake -help

    came的使用:

    创建工程目录:my_project

    cd my_project

    mkdir bin、lib、src、include和build目录。这几个目录依次用于放置C++可执行文件、生成的链接库、源文件、头文件和编译生成的文件。当然,还需要创建一个CMakeLists.txt文件用于编译整个工程。

    创建 *.cpp 或者 *.c 文件
    文件内容:

    cmake_mininum_required(VERSION 2.8)
    project(hello)
    add_excutable(hello hello.c)


    project指令会自动创建两个变量:
    <projectname>_BINARY_DIR  (binary file save path)    
    <projectname>_SOURCE_DIR(source  code save path)
    创建的这两个变量,分别与系统中的PROJECT_BINARY_DIR和PROJECT_SOURCE_DIR值相等;

    创建build文件夹 进入build 执行cmake ..

    生成Makefile 执行make

  • 相关阅读:
    [ZJOI2007]仓库建设(斜率dp优化)
    [HNOI2008]玩具装箱toy(斜率优化dp)
    2019牛客暑期多校训练营(第十场)F-Popping Balloons
    2019牛客暑期多校训练营(第十场)B-Coffee Chicken
    子集的生成—二进制枚举
    2019牛客暑期多校训练营(第九场)D-Knapsack Cryptosystem(思维+子集和)
    2019牛客暑期多校训练营(第九场) E-All men are brothers(并查集+组合数学)
    字符串的最小表示法
    2019牛客暑期多校训练营(第八场)
    [HDU4734] 不要62(数位dp入门)
  • 原文地址:https://www.cnblogs.com/countryboy666/p/11055899.html
Copyright © 2011-2022 走看看