CMakeLists之include_directories
CMakeLists之include_directories
最近在写CMakeLists的时候遇到了一些问题,在这里记录一下我解决的方案
下面是一个简单的demo
项目的结构如图左边所示。test.h
在python文件夹下的include文件夹里面,test.cpp
在python文件夹下面的src里面,CMakeLists如下所示
cmake_minimum_required(VERSION 3.4.1)
project(demo)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include
)add_library(demo src/try_1.cpp)
此时项目可以正常的编译,只需在build文件夹下面cmake …然后make,假如我们把test.h
放在与python同级目录下的include文件夹下面,仍然使用当前cmake,则会有报错
如果希望能够找到头文件那么应该怎么办呢?
只需做下面的更改
cmake_minimum_required(VERSION 3.4.1)
project(demo)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include${CMAKE_CURRENT_SOURCE_DIR}/../include #这行为增加的
)add_library(demo src/try_1.cpp)
这行的意思是搜索上一级目录下的include文件夹,如果我们希望搜索上一级的includes
(假设有一个)文件夹,那么我们需要把include改为includes
CMakeLists之include_directories相关推荐
- CMake 入门与进阶
目录 cmake 简介 cmake 和Makefile cmake 的下载 cmake 的使用方法 示例一:单个源文件 示例二:多个源文件 示例三:生成库文件 示例四:将源文件组织到不同的目录 示例五 ...
- 【笔记】CMake构建C++工程
一句话结论:本文归纳CMake构建c++工程的基本用法,实现多依赖.多工程.多文件格式的工程编译构建. 1.简介 CMake(cross-platform make)是一个跨平台编译工具,它不能直接生 ...
- 国标28181:jrtplib从编译到使用
jrtplib 作用 jrtplib是一个基于C++编写的面向对象的库,旨在帮助开发人员使用RFC3550中描述的实时传输协议(RTP),目前已经可以运行在Windows.Linux.FreeBSD. ...
- Android 下使用 FFmpeg 命令行工具与问题排查
目录 FFmpeg 命令行工具 将相关文件加入到项目中 修改 ffmpeg 源码 问题排查 上一篇文章 中,我们已经成功编译了 FFmpeg 的主要库并集成到了我们的 Android 应用中.我们暂时 ...
- 第15章 Linux的Makefile与Cmake编程
文章目录 文档配套视频讲解链接地址 第15章 Makefile与Cmake编程 15.1 Makefile 1. 什么是Makefile 2. Makefile 介绍 3. Makefile的规则 4 ...
- Android 随笔集 By tuliyuan
目录结构 30. Android 进程保活 29.预置so到源码中遇到异常 28.模拟按键事件 27.模拟触摸事件 26.Android编译报错汇总 25. applicationContext弹出对 ...
- Java如何利用JNI调用C++(简略介绍及步骤)
Java如何利用JNI调用C++(简略介绍及步骤) 文章目录 Java如何利用JNI调用C++(简略介绍及步骤) 一.原理介绍 二.详细步骤 步骤一:编写Java类 步骤二:生成.h文件 步骤三:CL ...
- 视觉SLAM十四讲作业练习(1)
4 CMake 练习 书写一个由 cmake 组织的 C++ 工程,要求如下: include/hello.h 和 src/hello.c 构成了 libhello.so 库.hello.c 中提供一 ...
- ROS运行机C++程序,移动
流程: 1.创建工作空间 mkdir catkin_ws cd catkin_ws mkdir src cd src catkin_init_workspace 2编译工作空间 cd ~/catkin ...
最新文章
- Failed to read auto-increment value from storageengine错误的处理方法
- Lock同步锁--线程同步
- centos7源代码安装mysql5.7_CentOS7源码编译安装MySQL5.7.11
- P3275-[SCOI2011]糖果【差分约束,负环】
- stl向量_用户定义大小的C ++ STL中的2D向量
- MySQL8.0.14 - 新特性 - InnoDB Parallel Read简述
- word没有显示endnote_Word2007或2010未显示EndNote工具条的解决方法 | 科研动力
- KVM地址翻译流程及EPT页表的建立过程
- 手机文字转语音简单方法分享
- 合法免费下载电子书的站点整理收藏
- matlab ext2int,PF_MATLAB_new 一个非常不错的粒子滤波工具箱,基于面向对象的思 实 实现非线性 ,包 238万源代码下载- www.pudn.com...
- java架构师_如何成为一个资深Java架构师?
- 肖仰华谈知识图谱:知识将比数据更重要,得知识者得天下
- 新年新玩法,数组“招婿”:老许,你要老婆不要?
- 24点游戏的递归解法和Python实现
- java调用QQ邮箱发送邮件
- JavaEye五月刊记录
- 【Linux入门】第三篇:软件包管理器yum和编辑器vim的使用
- 网站内容文章不收录什么原因?
- homebridge的移植---target端