1.添加头文件目录: 因为当前根目录的main.cpp需要引用到Dog.h头文件,所以需要通过include_directories引用头文件目录,注意CMakeLists的目录是相对于当前CMakeLists文件而言的。 2.add_subdirectory,官方的说明是 Add a subdirectory to the build. 就是要让当前的CMakeLists可以执行到执指定子目录的CMakeLists进而构建...
如果make 执行时,有 -I 或--include-dir 参数,那么 make 就会在这个参数所指定的目录下去寻找。 如果目录 /include(一般是: /usr/local/bin 或/usr/include )存在的话, make 也会去找。如果有文件没有找到的话, make 会生成一条警告信息,但不会马上出现致命错误。它会继续载入其它的文件,一旦完成 make...
而GLOB_RECURSE可以递归地去搜索Box2D目录下面所有的.cpp文件来参与静态库的编译。而include_directories和file指令,显而易见,它们是用来指定静态库的头文件和实现文件。 注:指定头文件的原则是:可以多引入,但不能缺。交叉编译本质也是编译,因此基本的要求是语法没问题,如果必要的头文件缺少了自然编译会失败!所以,原则...
文件指示。其包括了三个部分,一个是在一个Makefile中引用另一个Makefile,就像C语言中的include一样;另一个是指根据某些情况指定Makefile中的有效部分,就像C语言中的预编译#if一样;还有就是定义一个多行的命令。有关这一部分的内容,我会在后续的部分中讲述。 注释。Makefile中只有行注释,和UNIX的Shell脚本一样...
INCLUDE_DIRECTORIES(${PROJECT_CURRENT_SOURCE_DIR}/dir1) ADD_SUBDIRECTORY 增加编译的子目录。 ADD_SUBDIRECTORY (${PORJECT_SOURCE_DIR}/dir1) ADD_LIBRARY 生成库文件(默认生成静态库)。 ADD_LIBRARY (test1 SHARED Demo.cpp)生成动态库 ADD_LIBRARY (test2 STATIC Demo.cpp)生成静态库 ...
target_include_directories()命令可以用来指定一个目标的头文件搜索路径,这比使用旧的include_directories()命令更加灵活和直观。 在使用现代CMake命令时,我们需要注意的一个重要原则是:尽量使用目标属性(target properties)而不是全局变量(global variables)。这是因为目标属性可以使我们的CMakeLists.txt文件更加模块化,...
如果你的当前环境中定义了环境变量MAKEFILES,那么,make会把这个变量中的值做一个类似于include的动作。这个变量中的值是其它的 Makefile,用空格分隔。只是,它和include不同的是,从这个环境变中引入的Makefile的“目标”不会起作用,如果环境变量中定义的文 件发现错误,make也会不理。
pattern为需要查找的文件匹配模式信息,directories为要查找的文件路径,比如 vpath %.h ../headers 其代表在上一层文件夹headers中查找 .h头文件信息。 6、依赖关系生成 在编写c文件代码时,我们经常通过#include 语句来包含其它文件信息,比如头文件,该c文件被编译时需要依赖于其#include包含进来的文件,在规则编写中,...
使用范例:include_directories($/lib) 像这样的命令还有很多,如find_package()寻找使用第三方库等,这些都需要我们平时多加积累。给大家一个查询命令的方法,大家可以多去看cmake官网的help,链接如下: https://cmake.org/cmake/help/v2.8.8/cmake.html#section_Commands ...
首先是Makefile 文件和include文件夹还有src文件夹在同一个目录下 头文件hello.h在include目录下 源文件main.cpp和hello.cpp在src目录下 /// hello.h: #ifndef _HELLO_H__ #define _HELLO_H__ void hello(); #endif /// hello.cpp: #include<iostream> ...