Record: My CMakeLists

#1 设置需要的最小版本的cmake
cmake_minimum_required(VERSION 3.10)

#2 定义生成的项目名
project(perceive_tracking)

#3.1 设置cmake参数
set(CMAKE_CXX_FLAGS “${CMAKE_CXX_FLAGS} -std=c++11 -O3”)
set(CMAKE_BUILD_TYPE Release)

#3.2 定义CUDA_USE_STATIC_CUDA_RUNTIME,并将其值设为OFF
#为了解决cannot find -lopencv_dep_cudart问题
option(CUDA_USE_STATIC_CUDA_RUNTIME OFF)

#4 查找需要的包的头文件和库
find_package(CUDA REQUIRED)
find_package(OpenCV REQUIRED)
find_package(PCL REQUIRED QUIET)
find_package(catkin REQUIRED COMPONENTS
roscpp
rospy
sensor_msgs
message_filters
cv_bridge
image_transport
pcl_ros
pcl_conversions
)

#5 catkin_package()是catkin提供的CMake宏,用于为catkin提供构建、生成#pkg-config和CMake文件所需要的信息。
catkin_package()

#6 包含需要的库的头文件目录
include_directories(
include
${PROJECT_SOURCE_DIR}/include
${catkin_INCLUDE_DIRS}
${PCL_INCLUDE_DIRS}
${OpenCV_INCLUDE_DIRS}
)

#7 连接需要的库的库文件目录
link_directories(
include
${PCL_LIBRARY_DIRS}
)

#8 指定cuda的包含目录和链接目录
include_directories(/usr/local/cuda/include)
link_directories(/usr/local/cuda/lib64)

#9 指定tensorrt的包含目录和链接目录
include_directories(/usr/include/aarch64-linux-gnu/)
link_directories(/usr/lib/aarch64-linux-gnu/)

#10 生成需要的链接库
add_library(myplugins0 SHARED ${PROJECT_SOURCE_DIR}/src/KF.cpp )
… …
cuda_add_library(myplugins_1 SHARED ${PROJECT_SOURCE_DIR}/src/preprocess.cu)
… …

#11 设置一下编译主文件的别名
set(FILE_SOURCE ./src/main.cpp)

#12 生成可执行文件
add_executable(perceive_tracking ${FILE_SOURCE})

#13 添加需要的链接库,注意,如果有依赖项,一律放在后面。比如#myplugins0依赖myplugins1,则myplugins1放在myplugins0的后面
target_link_libraries(perceive_tracking myplugins_0)
target_link_libraries(perceive_tracking myplugins_1)
target_link_libraries(perceive_tracking myplugins_2)
target_link_libraries(perceive_tracking myplugins_3)
target_link_libraries(perceive_tracking myplugins0)
… …
target_link_libraries(perceive_tracking nvonnxparser)
target_link_libraries(perceive_tracking nvinfer cudart)
target_link_libraries(perceive_tracking ${catkin_LIBRARIES} ${PCL_LIBRARIES} ${OpenCV_LIBS})

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值