2
我正在尝试使用CMake编译cuda应用程序(在OSX Yosemite上)。我有一个汇编工作与一个Makefile:使用CMAKE编译CUDA C++ - 指定了多个编译阶段
CXX = nvcc
CXX_FLAGS = -c -O3 -arch=sm_21
CXX_LIBS =
BIN = md5_gpu.o
main:
$(CXX) $(CXX_FLAGS) md5_gpu.cu -o $(BIN) $(CXX_LIBS)
这个makefile工作,我试图将它移植到CMake。这是我在制作的CMakeLists.txt该项目尝试:
### CMakeLists.txt for CUDA
cmake_minimum_required(VERSION 2.8)
find_package(CUDA QUIET REQUIRED)
# Pass options to NVCC
set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS};-c -O3 -arch=sm_21)
cuda_compile(md5 md5_gpu.cu)
cuda_add_executable(md5Build ${md5})
然而,当我试图通过CMake编译这个(CMake的 - >作)抛出一个错误,上面写着:
nvcc fatal : More than one compilation phase specified
CMake Error at cuda_compile_generated_md5_gpu.cu.o.cmake:206
打印CUDA_NVCC_FLAGS'的'内容。也就是说,在设置变量后,添加'message(STATUS“CUDA_NVCC_FLAGS $ {CUDA_NVCC_FLAGS}”)''。 set命令中的分号是可疑的,你从哪里复制你的例子? – Antonio 2015-04-01 12:28:41