1.单个CPP文件的cmake

首先编写一个简单的程序(main.cpp):

#include <iostream>
using namespace std;
int main()
{
  cout<<"hello cmake"<<endl;
  return ;
}

编写 CMakeLists.txt,并与main.cpp 放在同一个目录。

project(hello)
add_executable(hello main.cpp)

进入CMakeLists.txt所在目录,在CMakeLists.txt 所在的目录下创建一个 build目录,进入build目录输入:

cmake ..
make

执行完毕后,在 build 目录下会有很多编译出来的文件,但是只需要其中的可执行文件,如果要把可执行文件放到与 build 目录同级的 bin 文件夹下,那么在CMakeLists.txt 的最后加上下面这两句话:

set( CMAKE_INSTALL_PREFIX "${CMAKE_SOURCE_DIR}/bin/")
install(TARGETS hello RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX})

将 make 指令改为make install,执行完毕后,就可以在 bin 文件夹中看到可执行文件 hello。

注意:上述语句不能直接写成:

install(TARGETS hello RUNTIME DESTINATION bin)

会产生错误:

CMake Error at cmake_install.cmake:42 (FILE):
  file INSTALL cannot copy file “XXXX” to "XXXX"

因为默认路径前缀为/usr/local/

若不手动改路径前缀则会出现将项目install到/usr/local/bin而没有权限的情况。

2.引入data文件夹

如果可执行文件需要调用一些文件,假设文件在 data 文件夹中,且 data 与CMakeLists.txt 在同级目录,则可以通过如下语句将 data 文件夹也放入 bin 文件夹

install(DIRECTORY data DESTINATION ${CMAKE_INSTALL_PREFIX})

3.多个CPP和H文件的cmake

如果 main.cpp 中用到了另一个文件的内容,文件目录如下图,应该怎么办呢?

aaarticlea/png;base64,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" alt="" />
其中 hello.h 为类的声明,hello.cpp 为类函数的定义。
这时可以把 CMakeLists.txt 改为下面这样:

project(hello)
set(SRCS main.cpp hello.cpp)
add_executable(hello ${SRCS})

上述代码等价于:

project(hello)
add_executable(hello main.cpp hello.cpp)

如果 hello.cpp 与 main.cpp 不在同一个文件夹呢?如下所示

aaarticlea/png;base64,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" alt="" />
这时候每个文件夹下都要有一个 CMakeLists.txt。
其中 main.cpp 同级目录下的 CMakeLists.txt 如下:

project(hello)
add_executable(hello main.cpp)
target_link_libraries(hello header)

Hello 目录下的 CMakeLists.txt 如下:

add_library(header STATIC hello.cpp)

说明:第一个 CMakeLists.txt 中的 add_subdirectory(Hello)表示在编译时要包含Hello这个目录,而 target_link_libraries(hello header)表示在生成 hello 时要调用静态链接库 header ,而 header 是在 Hello 目录下的 CMakeLists.txt 中的add_library(header STATIC hello.cpp)中产生的。

同理,如果 hello.cpp 中使用了其它链接库里的东西,则在其 CMakeLists.txt 也要加入 target_link_libraries(header xxx)。
注意:在写 target_link_libraries 语句时,括号里面的第一名称必须是当前所需要生成文件的名称,比如上面的 hello 和 header。但是,这样写在引用头文件时要写成 #include “Hello/hello.h”, 显得过长,这时,可以在 CMakeLists.txt 中加入下面这句话:

include_directories(./Hello)

这样引用头文件就可以写成 #include “hello.h”
更多使用方法自行百度。

Ubuntu下使用cmake生成可执行文件的更多相关文章

  1. 在ubuntu下使用CMake及VSCode对LoRaMac-node代码进行编译调试

    准备工作 下载代码LoRaMac-node  阅读LoRaMac-node目录下的doc文件夹中的development-environment.md 开工 安装所需环境 CMaka( >= 3 ...

  2. Ubuntu下通过makefile生成静态库和动态库简单实例

    本文转自http://blog.csdn.net/fengbingchun/article/details/17994489 Ubuntu环境:14.04 首先创建一个test_makefile_gc ...

  3. OpenGL tutorial资源在mac yosemite下的cmake生成工程问题

    如果你在使用cmake -G Xcode -Wno-dev OpenGL_Tutorial 时,出现了pThread.h not found的错误, 碰巧你和我一样使用的还是 2.8 版本的cmake ...

  4. ubuntu下android studio生成的unaligned apk的zipalign处理

    在ubuntu系统中使用android studio生成的apk文件始终都是unaligned apk, 在bulid.gradle中设置如下设置后,还是同样生成的是unaligned apk. mi ...

  5. Ubuntu下VsCode+CMake 交叉编译

    在安装配置好VsCode后,下载相关插件.如图: 其中CMake Tools是为了方便使用CMake的扩展工具. 在创建工程前,先在VSCode打开一个空的目录(你的Project目录),再对CMak ...

  6. Ubuntu下修改CMake版本

    https://blog.csdn.net/mdjxy63/article/details/82686504

  7. 在 linux 下使用 CMake 构建应用程序

    学习cmake http://xwz.me/wiki/doku.php?id=cmake 碰到的一些问题: 1.You have changed variables that require your ...

  8. 在linux下使用CMake构建应用程序

    本文介绍了一个跨平台的自动化构建系统 CMake 在 linux 上的使用方法. CMake 是一个比 automake 更加容易使用的工具,能够使程序员从复杂的编译连接过程中解脱出来.文中通过一些例 ...

  9. 在 linux 下使用 CMake 构建应用程序【转】

    本文转载自:https://www.ibm.com/developerworks/cn/linux/l-cn-cmake/index.html CMake 简介 CMake 是一个跨平台的自动化建构系 ...

随机推荐

  1. 没有-jackson相关依赖会抛出如下异常--------在spring官方文档有解释

    <!--jackson相关依赖--><!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackso ...

  2. 微信小程序--代码构成---WXSS 样式

    WXSS 样式 WXSS 具有 CSS 大部分的特性,小程序在 WXSS 也做了一些扩充和修改. 新增了尺寸单位.在写 CSS 样式时,开发者需要考虑到手机设备的屏幕会有不同的宽度和设备像素比,采用一 ...

  3. 利用SVD-推荐未尝过的菜肴2

    推荐未尝过的菜肴-基于SVD的评分估计 实际上数据集要比我们上一篇展示的myMat要稀疏的多. from numpy import linalg as la from numpy import * d ...

  4. 史上最简单的SpringCloud教程 | 第五篇: 路由网关(zuul)

    在微服务架构中,需要几个基础的服务治理组件,包括服务注册与发现.服务消费.负载均衡.断路器.智能路由.配置管理等,由这几个基础组件相互协作,共同组建了一个简单的微服务系统.一个简答的微服务系统如下图: ...

  5. xxl系列部署启动通用办法

    http://10.10.6.186:8080/xxl-job-admin # 编译mvn compile # 清理mvn clean # 打包mvn package # 先清理后编译mvn clea ...

  6. [转] js实现对图片的二进制流md5计算

    //计算图片md5 function img_MD5(img_path,callback) { plus.io.resolveLocalFileSystemURL(img_path, function ...

  7. es6 let和const

    一.let 1.let块作用域 if(true){ var a=1; let b=2; } console.log("a:"+a);//a:1 console.log(" ...

  8. [转]利用ssh传输文件

    利用ssh传输文件 http://www.cnblogs.com/jiangyao/archive/2011/01/26/1945570.html 在linux下一般用scp这个命令来通过ssh传输文 ...

  9. CentOS7.5安装nodejs 转

    CentOS7.5安装nodejs CentOS安装NodeJS 在CentOS下安装NodeJS有以下几种方法.使用的CentOS版本为7.2.CentOS其他版本的NodeJS安装大同小异,也可以 ...

  10. Could not locate executable null\bin\winutils.exe in the Hadoop binaries解决方式 spark运行wordcoult

    虽然可以正常运行,但是会出异常,现给出解决方法. 1.问题:   2.  问题解决: 仔细查看报错是缺少winutils.exe程序. Hadoop都是运行在Linux系统下的,在windows下ec ...