【发布时间】:2017-10-22 12:26:31
【问题描述】:
我正在尝试使用 CMake 生成一个 Xcode 项目并用它构建一个 CUDA 库。 我用于收集和构建CUDA库“caffe2_cpp_gpu”的代码如下:
list(APPEND CUDA_NVCC_FLAGS "-std=c++11" "-Wno-deprecated-gpu-targets")
file(GLOB CUDA_SOURCES "${PROJECT_SOURCE_DIR}/source/caffe2/operator/*.cu" )
cuda_add_library(caffe2_cpp_gpu STATIC ${CUDA_SOURCES})
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang++" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang")
list(APPEND ALL_LIBRARIES -Wl,-force_load caffe2_cpp_gpu)
else()
list(APPEND ALL_LIBRARIES -Wl,--whole-archive caffe2_cpp_gpu -Wl,--no-whole-archive)
endif()
请注意,如果使用 Unix Makefile,则可以运行此代码。
但是如果使用 Xcode 则无法运行。
在项目中它显示一个文件丢失:
missing file
并且无法创建 CUDA 库“caffe2_cpp_gpu”。
有人知道怎么解决吗?
【问题讨论】:
标签: c++ xcode cmake cuda caffe2