我们上面例子中使用了绝对路径INCLUDE_DIRECTORIES(/usr/include/hello)来指明include路径的位置,我们还可以使用另外一种方式,使用环境变量export CMAKE_INCLUDE_PATH=/usr/include/hello CMake 语法 (1)ADD_LIBRARY 语法 ADD_LIBRARY(hello SHARED ${LIBHELLO_SRC}) hello:就是正常的库名,生成的名字前面会加上lib,...
export CMAKE_INCLUDE_PATH=/home/wenhaolun/ubuntu18.04_lib export CMAKE_LIBRARY_PATH=/home/wenhaolun/ubuntu18.04_lib 二.find_path 该命令用于搜索指定头文件路径。 NAMES对应的是头文件的名称,PATHS对应绝对路径。 FIND_PATH(myCeres NAMES ceress.h PATHS /ceres/include/ceres NO_DEFAULT_PATH) INCLUDE_D...
CMAKE_INCLUDE_PATH 和CMAKE_LIBRARY_PATH。 务必注意,这两个是环境变量而不是cmake 变量。 使用方法是要在bash 中用export 或者在csh 中使用set 命令设置或者 CMAKE_INCLUDE_PATH=/home/include cmake ..等方式。 这两个变量主要是用来解决以前autotools 工程中 --extra-include-dir 等参数的支持的。也就是...
这里我们没有指定路径,但是,cmake仍然可以帮我们找到hello.h存放的路径,就是因为我们设置了环境变量CMAKE_INCLUDE_PATH。如果你不使用FIND_PATH,CMAKE_INCLUDE_PATH变量的设置是没有作用的,你不能指望它会直接为编译器命令添加参数-I<CMAKE_INCLUDE_PATH>。以此为例,CMAKE_LIBRARY_PATH可以用在FIND_LIBRARY中。同...
#include <stdio.h> void HelloFunc(); #endif 在lib目录下建立CMakeLists.txt,内容如下: SET(LIBHELLO_SRC hello.c) ADD_LIBRARY(hello SHARED ${LIBHELLO_SRC}) (三)、编译共享库 仍然采用out-of-source编译的方式,按照习惯,我们建立一个build目录,在build目录中 ...
CMake 工具能够自动生成 Makefile 文件,减轻手写 Makefile 文件的工作量,同时减少书写 Makefile 文件...
#include <stdio.h> void HelloFunc(); #endif 在lib目录下建立CMakeLists.txt,内容如下: 注意: 这里我们将Section 7之前的CMakeLists.txt中应有的内容提供如下: SET (LIBHELLO_SRC hello.cpp) # SET (LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib) ...
CMAKE_INCLUDE_PATH:环境变量,非cmake变量; CMAKE_LIBRARY_PATH:环境变量; CMAKE_CURRENT_SOURCE_DIR:当前处理的CMakeLists.txt文件所在路径; CMAKE_CURRENT_BINARY_DIR:target编译目录; 使用ADD_SURDIRECTORY指令可以更改该变量的值; SET(EXECUTABLE_OUTPUT_PATH < dir >) 指令不会对该变量有影响,但改变了最终...
6、特殊的环境变量 CMAKE_INCLUDE_PATH 和 CMAKE_LIBRARY_PATH 务必注意,这两个是环境变量而不是cmake变量。使用方法是要在bash中用export或者在csh中使用set命令设置或者CMAKE_INCLUDE_PATH=/home/include cmake ..等方式。 这两个变量主要是用来解决以前autotools工程中--extra-include-dir等参数的支持的。也就...
在CMakeLists.txt文件中直接指定库文件路径。这是适用于项目中使用的库文件路径固定的情况。例如: cmake set(CMAKE_LIBRARY_PATH /path/to/library) 使用include_directories()函数添加库路径。这适用于添加包含头文件的路径。例如: cmake include_directories(/path/to/library) 使用link_directories()函数添加库路...