2012-02-28 96 views
0

我想包括cutil.h文件。CUDA - cutil.h:沒有這樣的文件錯誤嘗試make文件

所以我嘗試了以下make文件:

BINDIR = ./ # places compiled binary in current directory 
EXECUTABLE := test 

CCFILES := main.c 
CUFILES := cudaFunctions.cu 

# an ugly part - setting rootdir for CUDA SDK makefile 
# look for common.mk - I don't know where SDK installs it on Linux - 
# and change ROOTDIR accordingly 
ROOTDIR := /home/dan/NVIDIA_GPU_Computing_SDK/C/common 

include $(ROOTDIR)/../common/common.mk 

但是我得到兩種類型的錯誤,當我轉來運行它。第一個是權限:
的mkdir:無法創建目錄`/釋放「:權限被拒絕

所以我蘇在去了一次又一次,並得到:
化妝:***沒有規則,使目標obj/x86_64/release/cudaFunctions.cu.o', needed by。 /」。停止。

main.c文件最初是一個main.cu文件。我改變它遵循這個例子,但仍然是相同的錯誤。

任何想法,爲什麼我得到這個錯誤?

回答

3

common.mk並不意味着以這種方式工作 - 它只是用於CUDA SDK示例和庫。

如果您只是想使用CUTIL庫,那麼應該使用公共目錄中的makefile構建CUTIL。然後將CUTIL標題和庫複製到您的項目中,#include並鏈接到它們,就像您使用任何庫一樣。

請注意,雖然CUTIL並不意味着在CUDA SDK之外使用 - 它只是SDK樣本中使用的便利庫。 NVIDIA不支持它。

+0

你是說我必須用make文件構建CUTIL,然後複製標題?我以爲我可以鏈接頭文件,如果我只是將它們複製爲.h文件? – Dan 2012-03-01 22:47:44

+1

是否複製它們取決於您 - 您只需在編譯時添加正確的「-I」路徑以包含標題,並且必須爲庫位添加正確的'-L'路徑,並且然後'-lcutil'鏈接庫。這不是CUDA特定的,順便說一句,它與任何C/C++庫相同。 – harrism 2012-03-02 01:08:15

相關問題