// sub/test.h#include<string>voidtest(std::string str); # sub/CMakeLists.txt cmake_minimum_required(VERSION 3.10.2) project(sub) add_library(sub test.cpp) 场景1:父目录CMakeLists.txt的add_subdirectory只指定了source_dir。 # 父目录下的CMakeLists.txt cmake_minimum_required(VERSION 3.10.2...
s1文件夹下CMakeLists.txt的内容如下: 1cmake_minimum_required(VERSION2.8)2add_subdirectory(sub_haha sub_haha)3add_subdirectory(sub_hello sub_hello)4add_subdirectory(top top) top文件夹下CMakeLists.txt的内容如下: 1cmake_minimum_required(VERSION2.8)2include_directories(../sub_haha ../sub_hello...
add_subdirectory(sub) 1. 2. 3. 4. 5. 在父目录下调用cmake .构建之后,在sub目录下会出现libsub.a库,说明当不指定binary_dir,输出目标文件就会放到source_dir目录下。 场景2:父目录CMakeLists.txt的add_subdirectory指定了source_dir和binary_dir。 # 父目录下的CMakeLists.txt cmake_minimum_required(VER...
include()没有引入新的变量范围,而add_subdirectory()引入了。 默认情况下,这两个命令都引入了一个新的策略范围,但是可以使用NO_POLICY_SCOPE选项告诉include()命令不要这样做(add_subdirectory()没有这样的选项)。 CMAKE_CURRENT_SOURCE_DIR和CMAKE_CURRENT_BINARY_DIR变量的值在处理由include()命名的文件时不会...
addSubdirectoryTest.cpp #include <iostream> #include "addSubdirectoryTest.h" void test() { std::cout << "子项目测试" << std::endl; } 1. 2. 3. 4. 5. 6. CMakeLists.txt 文件内容: cmake_minimum_required (VERSION 3.8) project(addSubdircotryTest) ...
cmake在build目录构建出prj_sln.sln解决方案,解决方案下有两个工程(project),其工程目录为prj1_name_in_build和prj2_name_in_build,每个工程目录自成体系,存放属于自己的工程文件。 具体如下: 其中prj1_ProjectName.sln是CMakeLists.txt中指定的工程名字。
例如:添加三方库 include_directiories(/usr/include/curl) target_link_libraries(myprogram path/...
通过add_subdirectory()进入新的 CMakeLists.txt 具有独立的变量作用域。 通过include 导入的.cmake 文件没有独立的变量作用域。 自定义函数具有独立的变量作用域。 自定义的宏没有独立的变量作用域。 普通变量对子作用域可见,但是子作用域中的变量不会影响到父作用域,相当于定义了同名变量并覆盖,除非使用 PARENT_...
你应该在终端上运行“cmake”和“make”命令。很多人只是盲目地按照指示,不是真的关心为什么我们需要以...
include_directories命令可添加头文件搜索路径,如include_directories(include) 。link_directories命令设置库文件搜索路径,例如link_directories(lib) 。find_package命令能查找系统中已安装的库,如find_package(OpenCV REQUIRED) 找OpenCV库。当找到库后,可使用target_link_libraries找到的库。add_subdirectory命令可将子目录...