Vscode 编译静态库(Ubuntu2004)过程

下面的内容是自己在VScode中针对自己敲的C++包进行静态库编译与调用时做的备注与解释,post出来便于自己未来查阅。

################ 编译静态库的流程:################

# 导出头文件路径
catkin_package(
INCLUDE_DIRS include # 导出头文件路径
# LIBRARIES calcul_pcd_overlap_lib # 导出库
)

add_library(calcul_pcd_overlap_lib # 已编译为静态库lib,注意命名格式,包名:calcul_pcd_overlap 类名:calculPcdOverlap
src/calculPcdOverlap.cpp
)

target_include_directories(calcul_pcd_overlap_lib PUBLIC
${CATKIN_DEVEL_PREFIX}/${CATKIN_GLOBAL_INCLUDE_DESTINATION}/calcul_pcd_overlap # 把这个库调用的头文件公开暴露,注意本包的头文件应该放在pkg/include/pkg/**.h处
)

install(DIRECTORY include/${PROJECT_NAME}/ # 安装头文件到devel空间
DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
)

# 安装库
install(TARGETS calcul_pcd_overlap_lib
ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION}
)




# 如何调用:

# 1.在调用包的package.xml添加依赖。
# <package>
# ...
# <depend>calcul_pcd_overlap</depend> <!-- 添加依赖 -->
# </package>


# 2.修改调用包的cmakelist.txt
# find_package(catkin REQUIRED COMPONENTS
# roscpp
# ...
# calcul_pcd_overlap # 声明依赖 特别注意,“find_package(catkin REQUIRED COMPONENTS”只能写一个,需要做的是把当前这行add到已有的“”当中。
# )

# include_directories(
# ${catkin_INCLUDE_DIRS}
# )

# target_link_libraries(your_node # 链接库
# ${catkin_LIBRARIES}
# calcul_pcd_overlap_lib
# )


# 3.在调用包引用
#include <calcul_pcd_overlap/calculPcdOverlap.h> // 使用尖括号<>// 而不是双引号""


# 4.重新编译(可选)
# cd ~/catkin_ws
# catkin clean -y # 彻底清理旧编译
# catkin build calcul_pcd_overlap # 先单独编译B包
# catkin build your_package_A # 再编译A包


################ 编译静态库的流程↑################

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值