Solution
C:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK 4.0\CUDALibraries\common\
Linker -> General -> Additional Library Directories
由於 step 1 不同平台的 library 會置於不同 path, 將有平台變數的 path
$(NVSDKCOMPUTE_ROOT)\C\common\lib\$(PlatformName)
$(NVSDKCOMPUTE_ROOT)\shared\lib\$(PlatformName)
加入 Linker -> General -> Additional Library Dire
p.s. 在 win7 找環境變數 …
由於 step 1 不同平台的 library 會置於不同 path, 將有平台變數的 path
$(NVSDKCOMPUTE_ROOT)\C\common\lib\$(PlatformName)
$(NVSDKCOMPUTE_ROOT)\shared\lib\$(PlatformName)
加入 Linker -> General -> Additional Library Dire
p.s. 在 win7 找環境變數 …
電腦 -> 變更設定 -> 系統內容 -> 環境變數
NVSDKCOMPUTE_ROOT=C:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK 4.1
[Debug/Win32]
1. C++ 改用 /MTd 編譯
C/C++ -> Code Generation change the Runtime Library to/MTd 2. 忽略 LIBCMT.lib
Linker->Input->Ignore Specific Library to libcmt.lib 3. CUDA 的 Host code (CPU code) 也以 /MTd 編譯 CUDA Runtime API -> Host -> Runtime Library => /MTd
[Release/Win32]
1. C++ 改用 /MT 編譯
C/C++ -> Code Generation change the Runtime Library to /MT
2. 忽略 LIBCMTD.lib
Linker->Input->Ignore Specific Library to libcmtd.lib
3. CUDA 的 Host code (CPU code) 也以 /MT 編譯 CUDA Runtime API -> Host -> Runtime Library => /MTd
p.s. 曾經同時忽略 libcmt.lib 和 libcmtd.lib, 反而出現更多 error lnk2005 !
Reference link
- How to integrate CUDA .cu code with C++ app<http://stackoverflow.com/questions/2098627/how-to-integrate-cuda-cu-code-with-c-app>
- 鏈接錯誤-庫衝突 ( libcmt.lib和libcmtd.lib) http://blog.csdn.net/redline2005/article/details/6313703
沒有留言:
張貼留言