windows cuda c++17 cmakelist用例

我的环境是win10+gtx1060+vs2019+cuda11.2+cmake3.18.5+cpp17(指定)

cmake_minimum_required(VERSION 3.5 FATAL_ERROR)

project(pcl_cuda_my)

#C++17
add_definitions(-std=c++17 -Xcompiler "/std:c++17")
option(CUDA_USE_STATIC_CUDA_RUNTIME OFF)
#set(CMAKE_BUILD_TYPE Release)
# -D_MWAITXINTRIN_H_INCLUDED for solving error: identifier "__builtin_ia32_mwaitx" is undefined
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17 -Wall -O3 -D_MWAITXINTRIN_H_INCLUDED")#-Ofast -O3 -O2

#Threads
set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads)

#CUDA
find_package(CUDA REQUIRED)
message(STATUS "    libraries: ${CUDA_LIBRARIES}")
message(STATUS "    include path: ${CUDA_INCLUDE_DIRS}")
include_directories(${CUDA_INCLUDE_DIRS})
set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS};-std=c++17; -g; -G;-gencode; arch=compute_61;code=sm_61)
enable_language(CUDA)  # add this line, then no need to setup cuda path in vs
if(NOT DEFINED CMAKE_CUDA_ARCHITECTURES)
set(CMAKE_CUDA_ARCHITECTURES 60 61 70 75 80)
endif(NOT DEFINED CMAKE_CUDA_ARCHITECTURES)

#opencv
set(OpenCV_DIR D:/soft/opencv3412/opencv/build)
find_package(OpenCV REQUIRED)
message(STATUS "opencv include path is: " ${OpenCV_INCLUDE_DIRS})
message(STATUS "opencv lib path is: " ${OpenCV_LIBS})
include_directories(${OpenCV_INCLUDE_DIRS})

#pcl
find_package(PCL REQUIRED)
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})

#test
include_directories(${PROJECT_SOURCE_DIR}/include)
FILE(GLOB CPP_FILE0 ${PROJECT_SOURCE_DIR}/test/*.cpp)
FILE(GLOB CU_FILE0 ${PROJECT_SOURCE_DIR}/test/*.cu)
add_executable(test ${CPP_FILE0} ${CU_FILE0})
target_link_libraries(test ${OpenCV_LIBS} ${PCL_LIBRARIES} ${CUDA_LIBRARIES} Threads::Threads)

#img2cld
include_directories(${PROJECT_SOURCE_DIR}/include)
FILE(GLOB CPP_FILE1 ${PROJECT_SOURCE_DIR}/img2cld/*.cpp)
FILE(GLOB CU_FILE1 ${PROJECT_SOURCE_DIR}/img2cld/*.cu)
add_executable(img2cld ${CPP_FILE1} ${CU_FILE1})
target_link_libraries(img2cld ${OpenCV_LIBS} ${PCL_LIBRARIES} ${CUDA_LIBRARIES} Threads::Threads)

#cldEucTrans
include_directories(${PROJECT_SOURCE_DIR}/include)
FILE(GLOB CPP_FILE2 ${PROJECT_SOURCE_DIR}/cldEucTrans/*.cpp)
FILE(GLOB CU_FILE2 ${PROJECT_SOURCE_DIR}/cldEucTrans/*.cu)
add_executable(cldEucTrans ${CPP_FILE2} ${CU_FILE2})
target_link_libraries(cldEucTrans ${OpenCV_LIBS} ${PCL_LIBRARIES} ${CUDA_LIBRARIES} Threads::Threads)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值