我完全不熟悉Mac OS X,我購買新MacBook Pro R15 Retina Edition的主要原因是開始學習CUDA API。CUDA編程和xCode
但我不能讓我的項目構建。
例如,當我創建一個新的CUDA項目,我去項目屬性並進行以下修改:
編譯器C/C++/Objective-C的:LLVM GCC 4.2
其他鏈接國旗:-lcuda,-lcudart
頭文件搜索路徑:在/ usr /本地/ CUDA /包括
庫搜索路徑:在/ usr /本地/ 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/Build/Products/Debug
-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: file not found: @rpath/CUDA.framework/Versions/A/CUDA for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
有什麼奇怪的是,當我去描述的路徑,我看到了CUDA可執行文件。該文件在那裏!當我使用使用庫的cuComplex.h時,每一個數學表達式(如log,cos,sin等等)都是一個「未定義的變量」。但是,cuComplex.h庫裏面有庫。
驅動程序,SDK和工具包安裝得很好,一切都像魅力一樣。我可以使SDK示例工作。但我想我錯過了一個細節,讓整個事情工作。
Hello Pierre-Luc,歡迎來到Stack Overflow。在創建CUDA項目時,是否爲與您安裝CUDA的體系結構(32位/ 64位)相同的體系結構創建它? – 2012-07-24 14:52:42
嗨!謝謝您的回答 ! 是的,絕對。我已經在x64中安裝了CUDA。即使我將屬性「架構」設置爲32位,並將「有效架構」設置爲i386,也會出現相同的內容,但會顯示「ld:file not found:@ rpath/CUDA.framework/Versions/A/CUDA for architecture i386」 – 2012-07-24 15:05:26
我甚至試過它在終端中編譯。我得到完全相同的錯誤。 – 2012-07-24 15:09:54