嘿有...所以我在這裏使用VS2008,使用CUDA C編程。我安裝了3.2工具包並正在工作。結構問題,CUDA C/C++和VS 2008
現在我的問題是,我有這樣一個文件:
#ifndef _cuda_rng_cu_included_
#define _cuda_rng_cu_included_
#include <stdio.h>
static void HandleError(cudaError_t err,
const char *file,
int line) {
if (err != cudaSuccess) {
printf("%s in %s at line %d\n", cudaGetErrorString(err),
file, line);
exit(EXIT_FAILURE);
}
}
#define HANDLE_ERROR(err) (HandleError(err, __FILE__, __LINE__))
//some other struct
我從書CUDA通過實例驗證碼,所以它應該工作..但是當我擊築我得到這個錯誤(第一):
error C2065: 'cudaError_t' : undeclared identifier
,然後錯誤的海嘯被附加,像uint2
類型不被發現和變量不被聲明。
可能是什麼問題? cudaError_t在$(CUDA_PATH_V3_2)\ include中定義,並且此路徑位於我所需的include目錄中。
文件屬性設置喜歡:Tool: CUDA Runtime API
我把那的#ifndef,因爲我還沒有想出如何使用CUDA C.像普通C之間的連接++和工作,如果我有兩個一個struct CUDA C(__global__
和` __device__
)以及一些常規方法。如果我將這個文件命名爲.cu
,那麼在使用此結構的普通C++代碼中會打印一條錯誤消息,說明它未被聲明。
我試圖手動包含driver_types.h
和其他大量的頭文件,但編譯器找不到它們。
對不起,如果我不清楚,我很困。
我看到那篇文章一次,我忘了在這個新項目中做。但仍然無效。我現在可以包含cuda.h,cuda_runtime.h和其他,並且未聲明的標識符會消失。但是現在我得到另一個錯誤:`'threadIdx':未聲明的標識符`。他媽的..感覺就像我應該在Linux上這樣做... – hfingler 2010-11-23 18:43:27