cmake混合編譯.cpp, .cu爲動態庫

爲方便程序連接,將cuda文件與cpp混合編譯爲一個動態庫
##將混合代碼編譯爲so庫


add_definitions(-std=c++11 -fPIC)

FIND_PACKAGE(CUDA)

IF(${CUDA_FOUND})
add_definitions(-DGPU_CUDA)
SET(CUDA_NVCC_FLAGS -Xcompiler -std=c++11 -Xcompiler -fPIC)
ENDIF()

add_library(gpu SHARED
  a.cpp
  b.cpp
)
IF(${CUDA_FOUND})
cuda_add_library(foo STATIC
  c.cu
)
ELSE()
add_library(foo STATIC
  c.cpp
)
ELSE()

target_link_libraries(gpu
  LINK_PRIVATE foo
)

引用so庫

target_link_libraries (project gpu)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章