#如果想链接生成的这个库必须使用 “add_library(libsugan ${SRC_LISTS})”指明的名字。 set_target_properties(libsugan PROPERTIES OUTPUT_NAME "sugan") add_executable(demo ./src/main.cpp) target_link_libraries(demo libsugan) 原例子:
add_library中的第二个参数 STATIC 表示是静态库,如果不加STATIC的话比如 add_library(xlog xlog.cpp) 就是默认编译动态库,如果要编译静态库再通过cmake的预制变量来控制。 STATIC 替换为SHARED 就是指定编译为动态库,例如:add_library(xlog SHARED xlog.cpp) 。 如果是Linux动态库代码不需要调整,Windows动态库需...
add_library(mymath_static STATIC mymath.cc) SET_TARGET_PROPERTIES(mymath_static PROPERTIES OUTPUT_NAME "mymath") # 生成可执行文件 add_executable(mymathapp mymathApp.cc) target_link_libraries(mymathapp mymath) target_include_directories(mymathapp PRIVATE ${CMAKE_SOURCE_DIR}/include) 参考: ht...
将文件infile复制到outfile的位置,同时执行其中变量的自动配置和更替,即,将infile中所有形同“${VAR}”和“@VAR@”的变量替换为对应的内容,并拷贝到outfile中,而这个新生成的outfile文件也可以在之后的脚本代码中得以使用。 FIND_LIBRARY( ${var} NAMES name1 [name2 …] PATHS path1 [path2 …] PATH_SUFFIXE...
project (xlog) add_library(xlog STATIC xlog.cpp) add_executable(test_xlog test_xlog.cpp) # 指定加载的库 target_link_libraries(test_xlog xlog) 再次运行 cmake -S . -B build cmake --build build 就编译出静态库和导入静态库的测试程序。
对add_library或者add_executable生成的文件进行链接操作 注意,此时库文件名称通常为libxxx.so,在这里只需要写xxx即可 target_link_libraries(库文件名称/可执行文件名称 链接的库文件名称) CMakeLists.txt的基本流程 project(xxx)# 必须add_subdirectory(子文件夹名称)# 父目录必须,子目录没有下级子目录则不需要...
add_executable(my_program main.cpp) 添加依赖项和链接库。 target_link_libraries(my_program PRIVATE my_library) 二、常用指令 add_executable:添加可执行文件。 add_executable(targetName source1 source2 ...) add_library:添加库文件。 add_library(targetName source1 source2 ...) target_link_libraries...
#CMakeLists.txtcmake_minimum_required(VERSION3.0)project(xlog)add_library(xlog STATIC xlog.cpp)add_executable(test_xlog test_xlog.cpp)# 指定加载的库target_link_libraries(test_xlog xlog) 再次运行 cmake -S . -B build cmake --build build ...
add_executable用于构建执行文件。它添加依赖的方式与上面构建库添加依赖的方式是一样的。 代码语言:text AI代码解释 install(TARGETS nav2_costmap_2d_core layers filters nav2_costmap_2d_client ARCHIVE DESTINATION lib LIBRARY DESTINATION lib RUNTIME DESTINATION bin ...
另一种写法是不用include_directories命令,而使用target_include_directories(${helloworld} ${COLMAP_INCLUDE_DIRS}) 命令,放在add_executable(for编译执行文件)或者add_library(for编译库)下一行,来添加头文件、依赖库(命令target_link_libraries)。 (3)link_directories很重要,(直觉)他会连接上所有需要的lib库。