2013-04-18 2 views
0

cuda에 대해 nvcc를 사용하여 프로그램을 컴파일하는 데 문제가 있습니다. 저는 Visual studio 2012와 cuda 5.0을 사용합니다.nvcc가 디버그 모드에서 컴파일하지 못했습니다. 단일 파일 필요

릴리스 모드에서 빌드를 시작하면 모든 것이 잘됩니다.

내가 처음 .CU 파일을 컴파일 할 때 다음과 같은 오류 메시지가 디버그 모드에서

:

NVCC : 치명적인 오류 : OUTPUTFILE 인 경우 하나의 입력 파일이 아닌 링크 단계가 필요합니다

내 명령 줄 릴리스 모드입니다 정의 :

C : \ 프로그램 파일 \ NVIDIA GPU 컴퓨팅 툴킷 : \ 사용자 \ 어니스트 \ 문서는 matlab에 \ ICEM \ icem_cpp \ cudaicem> "C를 \ \ CU DA-v5.0 \ bin \ nvcc.exe "-gencode = arch = compute_13, code = \"sm_13, compute_13 \ "--use-local-env -cl-version 2010 -ccbin"c : \ Program Files NVIDIA GPU Computing Toolkit \ CUDA \ v5.0 \에 "-I"C : \ Program Files \ NVIDIA GPU Computing Toolkit \ Microsoft Visual Studio 10.0 \ VC \ bin \ x86_amd64 " CUDA \ v5.0 \ include "-keep-dir"x64 \ Release "-maxrregcount = 0 --ptxas-options = -v - 머신 64 - 컴파일 -D_WINDLL -D_MBCS -Xcompiler"/ EHsc/W3/nologo 64 \ 릴리스 \ Icem.cu.obj "-o"/ O2/닫아/MD "

하고는"C \ 사용자 \ 어니스트 \ 문서는 matlab에 \ ICEM \ icem_cpp \ cudaicem \ Icem.cu \ " 디버그 모드 :

C : \ Users \ Ernest \ Documents \ Matlab \ icem \ icem_cpp \ cudaicem> "C : \ Program Files \ NVIDIA GPU 컴퓨팅 툴킷 \ CUDA \ v5.0 \ bin \ nvcc.exe"-gencode = arch = compute_13, code = \ "sm_13, compute_13 \"--use-local-env-cl -version 2010 -ccbin "C : \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ VC \ bin \ x86_amd64"-I "C : \ Program Files \ NVIDIA GPU 컴퓨팅 툴킷 \ CUDA \ v5.0 \ include"-I "C : \ Program Files \ NVIDIA GPU 컴퓨팅 툴킷 \ CUDA \ v5.0 \ include"-G --keep-dir "x64 \ Debug"-maxrregcount = 0 - 컴퓨터 64 - 컴파일 -g -D_ CUDACC _1_D_WINDLL -D_MBCS -Xcompiler/EHsc/W3/nologo/Od/Zi/RTC1/MDd "-o"x64 \ Debug \ Icem.cu.obj ""C : \ Users \ Ernest \ Documents \ Matlab \ icem \ icem_cpp \ cudaicem \ Icem.cu "

두 번째 메시지에 문제가 있습니까? 나는 다중 입력 파일을 보지 않는다! 내가 시험 할 수있는 어떤 생각?

+3

'-D_CUDACC_ 1'이 (가)이 때문에 없습니까? '1'없이 시도하십시오. 그건 그렇고, 왜 이것을 필요로합니까? 일반적으로 이것은'nvcc '에 의해 처리됩니다. – BenC

+0

당신은 그것을 감쌌다, 그것은 나의 전 처리기 옵션에 있었다, 나는 내가 그것을 왜 추가했는지 전혀 모른다, 고마워! –

+0

예, 'gcc'로 Boost 오류를 읽는 것은 난독 화 된 텍스트 풀에서 임의의 오류를 찾아내는 훌륭한 훈련입니다. 다행스럽게도 도움이 될 수 있습니다. o) – BenC

답변

1

대답은 전 처리기 옵션에 있습니다. -D_CUDACC_ 1이 문제였습니다.

관련 문제