- **例子**: `add_subdirectory(src/utils)` 会处理src/utils目录下的CMakeLists.txt。 2. **include_directories**: - **用途**: 该命令用于向编译器指定包含文件(头文件)的搜索路径。这意味着您可以在这个路径中查找`#include`的头文件,而无需写绝对路径。 - **例子**: `include_directories(${CMA...
场景2:父目录CMakeLists.txt的add_subdirectory指定了source_dir和binary_dir。 场景3:父目录CMakeLists.txt的add_subdirectory指定了EXCLUDE_FROM_ALL选项。 场景4:父目录CMakeLists.txt的add_subdirectory指定了EXCLUDE_FROM_ALL选项,且父目录的目标文件依赖子目录的目标文件。 最后,以一个完整的例子来结束本文...
当然,也可以在main.c里使用include来指定路径. 2.add_subdirectory()这个命令可以向当前工程添加存放源文件的子目录,并可以指定中间二进制和目标二进制的存放位置.add_subdirectory (src),这里指定src目录下存放了源文件,当执行cmake时,就会进入src目录下去找src目录下的CMakeLists.txt,所以在src目录下也建立一个CM...
add_subdirectory(sub output) 在父目录下调用cmake .构建之后,在output目录下会出现libsub.a库,sub目录下则没有libsub.a。说明当指定binary_dir,输出目标文件就会放到binary_dir目录下。 场景3:父目录CMakeLists.txt的add_subdirectory指定了EXCLUDE_FROM_ALL选项。 # 父目录下的CMakeLists.txtcmake_minimum_requ...
include_directories(sub) add_subdirectory(sub output) add_executable(test main.cpp) target_link_libraries(test sub) # 父目录下的main.cpp #include "test.h" #include <iostream> int main(int argc, char** argv) { std::cout << "In main..." << std::endl; ...
add_subdirectory(source_dir):用于将子目录添加到生成中。source_dir中也有一个CMakeLists.txt文件。C...
#include "hello.h" void HelloFunc(){ std::cout << "Hello World" << std::endl; } 项目中的cmake内容 PROJECT(HELLO) ADD_SUBDIRECTORY(lib bin) lib中CMakeLists.txt中的内容 SET(LIBHELLO_SRC hello.cpp) ADD_LIBRARY(hello SHARED ${LIBHELLO_SRC}) ...
add_subdirectory:这个CMake指令用于添加子目录。在生成的Makefile中,这个指令会导致生成一个新的Makefile文件在对应的子目录中。 通过理解CMake与Makefile的对应关系,我们可以更好地理解CMake的工作原理,以及如何编写有效的CMakeLists.txt文件。在下一章节中,我们将进一步探讨CMake构建过程的底层原理。
BareSIP是开源的SIP协议栈,我们可以基于BareSIP开发软电话应用。我们可以在项目中直接引入BareSIP的库,也...
add_subdirectory有一个与include_directories和target_include_directories非常相似的SYSTEM参数。这个特性是在...