macos – CUDA 5.0,CMake并在OSX 10.8.3上失败
发布时间:2020-12-16 07:04:12 所属栏目:百科 来源:网络整理
导读:我尝试在Mac OSX 10.8.3上使用CMake编译一个简单的CUDA“Hello World”. 打电话给cmake.似乎成功了.这是我的CMakeList.txt: project(HelloWorld)cmake_minimum_required(VERSION 2.8)FIND_PACKAGE(CUDA)CUDA_INCLUDE_DIRECTORIES(/Developer/NVIDIA/CUDA-5.
我尝试在Mac OSX 10.8.3上使用CMake编译一个简单的CUDA“Hello World”.
打电话给cmake.似乎成功了.这是我的CMakeList.txt: project(HelloWorld) cmake_minimum_required(VERSION 2.8) FIND_PACKAGE(CUDA) CUDA_INCLUDE_DIRECTORIES(/Developer/NVIDIA/CUDA-5.0/samples/common/inc) CUDA_ADD_EXECUTABLE(helloWorld helloWorld.cu) ……和输出: -- The C compiler identification is Clang 4.2.0 -- The CXX compiler identification is Clang 4.2.0 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Found CUDA: /Developer/NVIDIA/CUDA-5.0 (found version "5.0") -- Configuring done -- Generating done -- Build files have been written to: /Users/mennny/Documents/UNI/6_Semester/0_PMPP/1_exercises/cuda-hello-world 但之后调用make失败并出现以下错误: [100%] Building NVCC (Device) object CMakeFiles/helloWorld.dir//./helloWorld_generated_helloWorld.cu.o clang: error: unsupported option '-dumpspecs' clang: error: no input files CMake Error at helloWorld_generated_helloWorld.cu.o.cmake:206 (message): Error generating /Users/mennny/Documents/UNI/6_Semester/0_PMPP/1_exercises/cuda-hello-world/CMakeFiles/helloWorld.dir//./helloWorld_generated_helloWorld.cu.o make[2]: *** [CMakeFiles/helloWorld.dir/./helloWorld_generated_helloWorld.cu.o] Error 1 make[1]: *** [CMakeFiles/helloWorld.dir/all] Error 2 make: *** [all] Error 2 我搜索了显示的错误但找不到足够的答案. 谢谢你的帮助. 解决方法
XCode中的默认C编译器在OS X Lion中更改为CLang. CLang与nvcc不兼容,因此您需要更改nvcc用于非cuda(主机)代码的编译器.将以下内容添加到您的CMakeList.txt将起作用:
if (NOT DEFINED CUDA_HOST_COMPILER AND CMAKE_C_COMPILER_ID STREQUAL "Clang" AND EXISTS /usr/bin/gcc) set(CUDA_HOST_COMPILER /usr/bin/gcc CACHE FILEPATH "Host side compiler used by NVCC") message(STATUS "Setting CMAKE_HOST_COMPILER to /usr/bin/gcc instead of ${CMAKE_C_COMPILER}.") endif() 如有必要,调整gcc的路径. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |