ROS CMakeLists中target_link_libraries相对路径设置

先看我的CMakeLists文件:

link_directories(libs/X64)

add_executable(${PROJECT_NAME} 
    src/play_audio.c 
    src/awaken.c
)
add_executable(show_order
    src/test_listener.cpp
)

target_link_libraries(${PROJECT_NAME}
    ${catkin_LIBRARIES}
    libmsc.so
    libasound.so
 )

target_link_libraries(show_order
    ${catkin_LIBRARIES}
)

因为我这里用到了科大讯飞的一个链接库 libmsc.so,放到了我package目录下的libs/X64文件夹下,出于移植的考虑,不想使用绝对路径。所以这里使用link_directories添加相对路径的目录,然后在target_link_libraries中添加库目录名字。

注意:

  1. link_directories必须要放到add_executable前面,原因不明。
  2. ROS官网建议不要使用link_directories,直接放在target_link_libraries中。我试过很多次,这样的话无法使用相对路径。不知道为何

参考:

ROS官网的CMakeLists文档

参考博客

猜你喜欢

转载自blog.csdn.net/u013834525/article/details/80091934