target_include_directories(subtraction PRIVATE include) target_link_libraries(main subtraction) # test no items target_include_directories(main PRIVATE) target_include_directories(main BEFORE PRIVATE) target_include_directories(main SYSTEM BEFORE PRIVATE) target_include_directories(main SYSTEM PRIVATE) 1. 2...
target_link_libraries(main subtraction) target_link_directories(main PRIVATE /private/dir INTERFACE /interface/dir) get_target_property(result main LINK_DIRECTORIES) message("result: ${result}") # result: /private/dir get_target_property(result main INTERFACE_LINK_DIRECTORIES) message("result: ${r...
target_link_libraries(show_order ${catkin_LIBRARIES} ) 因为我这里用到了科大讯飞的一个链接库 libmsc.so,放到了我package目录下的libs/X64文件夹下,出于移植的考虑,不想使用绝对路径。所以这里使用link_directories添加相对路径的目录,然后在target_link_libraries中添加库目录名字。 注意: link_directories必须要放...
CMake学习 LINK_DIRECTORIES LINK_DIRECTORIES 命令来指定第三方库所在路径,比如,你的动态库在/home/myproject/libs这个路径下,则通过命令:LINK_DIRECTORIES(/home/myproject/libs),把该路径添加到第三方库搜索路径中,这样就可以使用相对路径了,使用TARGET_LINK_LIBRARIES的时候,只需要给出动态链接库的名字就行了。官方...
cmake可以使用 LINK_DIRECTORIES 命令来指定第三方库所在路径,比如,你的动态库在/home/myproject/libs这个路径下,则通过命令:LINK_DIRECTORIES(/home/myproject/libs),把该路径添加到第三方库搜索路径中,这样就可以使用相对路径了,使用TARGET_LINK_LIBRARIES的时候,只需要给出动态链接库的名字就行了。 拓展: 1、C...
(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}) set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}) set(SOURCE_FILES src/game_executable.cpp) include_directories(${CMAKE_SOURCE_DIR}/lib) add_executable(game ${SOURCE_FILES}) target_link_libraries(${PROJECT_NAME} ${CMAKE_BINARY_DIR}/libLibrary.so...
target_link_libraries(consumer archive) 因为源目录和构建目录非常常用,它们也被加入到了INCLUDE_DIRECTORIES目标属性中,CMAKE_INCLUDE_CURRENT_DIR变量可以用来控制是否将目录加入INCLUDE_DIRECTORIES目标属性中。CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE变量可以用来控制是否将目录加入INTERFACE_INCLUDE_DIRECTORIES目标属性中。
target_link_libraries(myapp ${CMAKE_CURRENT_SOURCE_DIR}/../lib/libmylib.so) ``` 上述代码中,`${CMAKE_CURRENT_SOURCE_DIR}`表示当前源文件所在目录,`../lib/libmylib.so`表示so文件在源文件上一级的lib目录下。 第二种方法是使用相对于构建目录的路径来指定so文件。当我们使用cmake进行构建时,会生...
add_executable(Demo) target_link_libraries(Demo PRIVATE Qt6::Widgets) 注意通常链接库的一个组件,形如XXX::xxx,例如Qt6::Widgets。(这个组件其实是 CMake 的一个 IMPORTED target) 对于早期的 CMake,并没有使用 target 风格的语法,而是会把信息反馈到某些变量上,例如对 Abc 库的导入 Abc_FOUND 记录是否找...
将动态库放到功能包中,在CMakeLists.txt 中添加该库的相对路径。方法如下: target_link_libraries( test ${catkin_LIBRARIES}${PROJECT_SOURCE_DIR}/lib/libdemo.so) 其中:${PROJECT_SOURCE_DIR}为当前功能包的路径。 例子: 功能包 test 下的 lib 目录 下的 libdemo.so 库,添加其路径的方法如下: ...