我对 Mac OS X 完全陌生,我购买新 MacBook Pro R15 Retina 版的主要原因是开始学习 CUDA API。
但我无法构建我的项目。
例如,当我创建一个新的 CUDA 项目时,我进入项目属性并进行以下更改:
C/C++/Objective-C 编译器:LLVM GCC 4.2
其他链接器标志:-lcuda、-lcudart
标头搜索路径:/usr/local/cuda/include
库搜索路径:/usr/local/cuda/lib
当我开始在我的代码中添加必要的库时,一切都运行良好。我的代码没有输入错误。
当我构建项目时,我得到链接错误(路径缩短并且消息被分解以提高可读性):
ld /my_test_project/Build/Products/Debug/test normal x86_64 cd /Users/Admin/Documents/test setenv MACOSX_DEPLOYMENT_TARGET 10.7 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++
-arch x86_64
-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk
-L/my_test_project/构建/产品/调试
-L/usr/local/cuda/lib -F/my_test_project/Build/Products/Debug
-filelist /my_test_project/Build/Intermediates/test.build/Debug/test.build/Objects-normal/x86_64/test.LinkFileList
-mmacosx-version-min=10.7
-lcudart
-lcuda
-o /my_test_project/Build/Products/Debug/test
ld:找不到文件:@rpath/CUDA.framework/Versions/A/CUDA for architecture x86_64 clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
奇怪的是,当我转到所描述的路径时,我看到了 CUDA 可执行文件。文件在那里!
当我使用使用该库的 cuComplex.h 时,每一个数学表达式(例如 log、cos、sin 等)都是一个“未定义的变量”。但是,cuComplex.h 库中包含库。
驱动程序、SDK 和工具包都安装得很好,一切都像一个魅力。我可以让 SDK 示例正常工作。但我想我错过了一个让整个事情正常工作的细节。