cmake-include_directories】的更多相关文章

https://www.zybuluo.com/khan-lau/note/254724 CMake 用法导览 Preface : 本文是CMake官方文档CMake Tutorial (http://www.cmake.org/cmake/help/cmake_tutorial.html) 的翻译.通过一个样例工程从简单到复杂的完善过程,文档介绍了CMake主要模块(cmake, ctest, cpack)的功能和使用环境:从中可以一窥cmake的大体形貌.正文如下: 本文下述内容是一个手把手…
拿Sophus库为例: find_package(Sophus REQUIRED) include_directories(${Sophus_INCLUDE_DIRS}) target_link_libraries(useSophus ${Sophus_LIBRARIES}) 我们怎么知道要连接Sophus_INCLUDE_DIRS,Sophus_LIBRARIES,而不是SOPHUS_INCLUDE_DIRS,SOPHUS_LIBRARIES或其他,其实 find_package主要是找到.c…
在cmake里add_executable里如果没有包含.cpp文件,该.cpp文件就不适用include_directories包含文件…
公司引擎是用cmake根据目标平台来构建工程的,刚接触的时候深深体会到cmake的方便:如果目标平台是windows,它可以帮你自动构建出vs工程:如果是安卓,自动构建出eclipse工程,如果是IOS,自动构建出xcode工程.想想以前用vs建工程的时候,如果要引入第三方库,必须要手动配置第三方库路径,如果引入的库少,那还没什么,如果多的话就悲剧了,配个环境都要半天.再想想以前在linux平台下手动写Makefile的时候,如果工程比较小,模块少还好办,如果工程大,模块多,各种写依赖关系都要让…
查看官方文档 cmake命令 选项 CMake变量 CMake命令汇总 / add_custom_command add_custom_target/add_definitions/add_dependencies add_library/add_subdirectory/add_test/aux_source_directory/break build_command/cmake_minimum_required/cmake_policy configure_file/create_test_…
<CMake实践>笔记一:PROJECT/MESSAGE/ADD_EXECUTABLE <CMake实践>笔记二:INSTALL/CMAKE_INSTALL_PREFIX <CMake实践>笔记三:构建静态库与动态库 及 如何使用外部共享库和头文件 五.静态库与动态库构建 读者云,太能罗唆了,一个Hello World就折腾了两个大节.OK,从本节开始,我们不再折腾Hello World了,我们来折腾Hello World的共享库. 本节的任务: 1.建立一个静态库和动…
上篇文章 小记了: 关于 Poco::TCPServer框架 (windows 下使用的是 select模型) 学习笔记. http://www.cnblogs.com/bleachli/p/4352959.html 这儿继续学习下,poco在linux 下用cmake 编译. 从文档开始编译出错 从poco的 README 文件上可知: " BUILDING ON UNIX/LINUX/MAC OS X=============================== For building o…
Cmake的输入是在源码目录下的CMakeLists.txt文件.这个文件可以用include或者 add_subdirectory 命令增加入其它的输入文件. 语法 CMakeList.txt文件是由注释.命令和空白字符组成. 注释是由 # 开始,到行结尾. 命令是由:命令名.(.空格分隔的参数.)组成. 例如:command (args….) 上面的command可以是一个命令名:或者是一个宏:也可以是一个函数名. args是以空格分隔的参数例表(如果参数中包含空格,则要加双引号) 除了用于…
原因: 由于不想在真机环境和 ide中调试环境, 只想在linux端进行 调试和运行, 需要使用cmake对现有的游戏进行编译(cocos2dx-lua 3.4) 修改步骤: 1.修改framework下的 CMakeLists.txt 文件: 在 set(GAME_SRC 下填充对应游戏的cpp文件名称,需要包含相对路径 在 include_directories( 下添加 ${COCOS2D_ROOT}/cocos/scripting/lua-bindings/auto # 如果添加了 lu…
例子4:链接静态库(.lib) 例子3里面我们构建了date.lib, 这个例子里我们调用这个库. 前提: date.h的头文件在 E:\Playground\CMakeExamples\DateLib\include date.lib或date.dll文件在 E:\Playground\CMakeExamples\lib CMakeLists.txt里需要用到这两个地址. 文件结构: E:. │  CMakeLists.txt │ ├─build └─src         main.cpp…
例子3: 构建动态库(.dll) 静态库(.lib) 采用和例子2一样的文件,但删除了main.cpp E:.               │  CMakeLists.txt │                 ├─include         │      Date.h     │                 └─src                     date.cpp  修改CMakeLists.txt cmake_minimum_required(VERSION 3.5.2)…
例子2:有目录的项目 我现在有个文件夹ProjectDate,有如下文件结构 E:. │  CMakeLists.txt │ ├─include │      Date.h │ └─src         date.cpp         main.cpp include文件夹下是头文件Date.h #ifndef DATE_H #define DATE_H   class Date { private:     int m_year;     int m_month;     int m_da…
CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程).他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake. CMake 使用方法 CMake的所有的语句都写在一个叫:CMakeLists.txt 的文件中.当CMakeLists.txt文件确定后,可以用ccmake命令对相关 的变量值进行配置.这个命令必须指向CMakeLists.txt所在的目录.配置完成之后,应用cmake命令生成…
安装好opencv之后: 只需要添加一下,就可以方便的使用opencv了,find_package opencv 会寻找FindOpenCV.cmake find_package(OpenCV REQUIRED) if(OpenCV_FOUND) message(STATUS "---------------- OPENCV_INCLUDE_DIRS: ${OPENCV_INCLUDE_DIRS}") include_directories(${OPENCV_INCLUDE_DIRS}…
在开始介绍如何使用CMake编译跨平台的静态库之前,先讲讲我在没有使用CMake之前所趟过的坑.因为很多开源的程序,比如png,都是自带编译脚本的.我们可以使用下列脚本来进行编译: ./configure --prefix=/xxx/xx --enable-static=YES make make install 相信手动在类Unix系统上面编译过开源程序的同学对上面的命令肯定非常熟悉.更悲惨的是,有些开源库是不提供configure配置文件的,只有一个Makefile或者Makefile.gc…
使用cef3替代chromium内核开发产品过程中,第一次接触到系统构建,使用了最常见的CMake.CMake虽然在构建系统中用的比较多,但是使用到的程序员还是很少的.现在在国内能找到的相关资料和博客比较多,本人在学习中也看了很多人的博客,比如 CMake学习(一)  , CMake语法之流程控制 等.再次感谢这些作者的分享.下边提供一些系统学习的资料. CMake的官网地址:http://www.cmake.org/ CMake主要的文档<learning_cmake> <CMake…
新版本—— http://www.cnblogs.com/zyl910/p/zlstdint_v100.html[C] zlstdint(让VC.TC等编译器自动兼容C99的整数类型)V1.0.支持Turbo C++ 3等DOS下的编译器 作者:zyl910 一.改动简介 V1.02版的改动如下—— 将源码上传到github. 调整目录结构. 添加CMake编译配置文件. 使用doxygen规范注释. 修正 __AUTO_STDINT_H_USESYS 误为 _INTTYPES_H_SYS_ 的…
临时更换成了TDM-GCC,和mingw类似,这里只是声明一下. 由于opencv下载下来的.exe安装包实际上是没有mingw(gcc)匹配的/动静态库,因此这些东西需要我们自己使用mingw编译. 首先是cmake配置,直接在source目录命令行下执行 cmake . 即可(注意后边有空格和代表当前目录的点号) 一般来说应该可以了,然后就是使用mingw32-make命令完成编译(过程较长),最后是使用mingw32-make install 生成需要的文件(头文件/动/静态库) C:.…
因为某些原因,不想用过于臃肿的VS了,转而使用常用的jetbrains的CLion,Clion沿袭了jetbrans的优良传统,基本代码提示功能还是比较好的,不过就是对于windows不熟悉cmake(像我这样)的朋友可能不是太友好,经过了2个小时的查资料,终于正常运行了一个简单示例. 下面谈谈如何在Windows下配置这个开发环境. 起始,我是参考了我的前一篇OpenGL+VS开发环境的搭建,实际上除了freeglut重新下载的是MinGW版本之外,其他的文件并无区别,当然为了方便引用,我把所…
转自http://blog.csdn.net/ljt20061908/article/details/11736713 0. 前言    一个多月前,由于工程项目的需要,匆匆的学习了一下cmake的使用方法,现在有时间拿出来整理一下.本文假设你已经学会了cmake的使用方法,如果你还不会使用cmake,请参考相关资料之后再继续向下看.    本文中介绍的是生成可执行程序的方法和步骤,生成动态库和静态库的方法与此有所不同,随后会介绍动态库和静态库项目中cmake的编写方法.    本文参考<CMa…
转自:http://blog.csdn.net/dbzhang800/article/details/6314073 新工作中使用到了cmake,所以找点资料学习一下,这篇讲的确实不错,转过来保存一下,另外这一篇页不错的:http://www.ibm.com/developerworks/cn/linux/l-cn-cmake/ 看来不学习一下cmake是不行了,一点一点来吧,找个最简单的C程序,慢慢复杂化,试试看: 例子一 单个源文件 main.c 例子二 ==>分解成多个 main.c he…
转载自我的博客: CMake 简介和 CMake 模板 . 如果你用 Linux 操作系统,使用 cmake 会简单很多,可以参考一个很好的教程: CMake 入门实战 | HaHack .如果你用 Linux 操作系统,而且只是运行一些小程序,可以看看我的另一篇博客: 你就编译一个 cpp,用 CMake 还不如用 pkg-config 呢 . 但如果你用 Windows,很大的可能你会使用图形界面的 CMake(cmake-gui.exe)和 Visual Studio.本文先简单介绍使用…
[语法] 注释  # :       #我是注释 命令语法 COMMAND:    COMMAND(参数1 参数2 ...) 字符串列 A;B;C           //分号分割或空格分隔的值 变量    set(Foo a b c)             // 设置变量 Foo    command(${Foo})     //等价于 command(a b c)    command("${Foo}")  // 等价于 command("a b c")   …
一.      基本使用 安装:下载二进制包后可直接解压使用 从源码安装则执行命令:./bootstrap; make; make install——尝试执行bootstrap失败 使用:cmake dir_path,生成工程文件或makefile文件 二.      概念 out-of-source build,与in-source build相对,即将编译输出文件与源文件放到不同目录中: 三.      基本结构 1,依赖CMakeLists.txt文件,项目主目标一个,主目录中可指定包含的…
在实际复杂的项目之中,会有很多的源文件,以及对于库的依赖,如果直接使用makefile会比较的繁琐,而且makefile的推导规则也非常多,对多目录的支持也比较复杂. 最近看了一下cmake,发现配置起来比直接使用makefile要方便很多,学习成本也比较低. 现在假设我们有一个server目录,内部有一个redis目录,就用两个目录来说明问题. 在server目录下,我们创建一个CMakeLists.txt,在redis下也创建一个同样名字的文件,但是内容不同. 由于只昨天晚上学习了一下cma…
继续完善Hello World,建立它的共享库, 包括静态库和动态库. 本节的任务: 1,建立一个静态库和动态库,提供HelloFunc函数供其他程序编程使用,HelloFunc 向终端输出Hello World字符串. 2,安装头文件与共享库. 3, 编写一个程序使用创建的共享库(静态库和动态库). cd /home/ccj/CMakeDemo mkdir t3   cd /backup/cmake/t3 mkdir lib   在t3目录下建立CMakeLists.txt,内容如下: PRO…
转自 RichardXG 原文 CMake使用教程 CMake是一个比make更高级的编译配置工具,它可以根据不同平台.不同的编译器,生成相应的Makefile或者vcproj项目. 通过编写CMakeLists.txt,可以控制生成的Makefile,从而控制编译过程.CMake自动生成的Makefile不仅可以通过make命令构建项目生成目标文件,还支持安装(make install).测试安装的程序是否能正确执行(make test,或者ctest).生成当前平台的安装包(make pac…
CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程).他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake.只是 CMake 的组态档取名为 CmakeLists.txt.Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces),然后再依一般的建构方式使用.这使得…
CMake是一个比make更高级的编译配置工具,它可以根据不同平台.不同的编译器,生成相应的Makefile或者vcproj项目.通过编写CMakeLists.txt,可以控制生成的Makefile,从而控制编译过程.CMake自动生成的Makefile不仅可以通过make命令构建项目生成目标文件,还支持安装(make install).测试安装的程序是否能正确执行(make test,或者ctest).生成当前平台的安装包(make package).生成源码包(make package_so…
一,本期目标: [sun@localhost t4]$ cat README 任务:如何使用外部共享库和文件 二,目录结构 [sun@localhost t4]$ tree ../t4../t4├── CMakeLists.txt├── README└── src    ├── CMakeLists.txt    └── main.cpp 1 directory, 4 files 三,CMakeLists.txt [sun@localhost t4]$ cat CMakeLists.txt PR…