2011-12-28 2 views
1

내 cuda 코드는 디버그 모드로 컴파일되지만 릴리스 모드에서는 컴파일되지 않습니다. 난 그냥 해제하고 컴파일 공격 할 수있는 모드를 변경할 때, 나는 링커 오류를 다음 얻을 :코드가 릴리스 모드가 아닌 vs 2008에서 디버그 모드로 컴파일됩니다.

Error 16 error LNK2001: unresolved external symbol [email protected] JGJJSMJMDJLMOMpartition.cu.obj 
Error 17 error LNK2001: unresolved external symbol [email protected] JGJJSMJMDJLMOMpartition.cu.obj 
Error 18 error LNK2001: unresolved external symbol [email protected] JGJJSMJMDJLMOMpartition.cu.obj 
Error 19 error LNK2001: unresolved external symbol [email protected] JGJJSMJMDJLMOMpartition.cu.obj 
Error 20 error LNK2001: unresolved external symbol [email protected] JGJJSMJMDJLMOMpartition.cu.obj 
Error 21 error LNK2001: unresolved external symbol [email protected] JGJJSMJMDJLMOMpartition.cu.obj 
Error 22 error LNK2001: unresolved external symbol [email protected] JGJJSMJMDJLMOMpartition.cu.obj 

이 해결 될 수있는 방법에 대한 어떤 생각?

+0

해결 했습니까? VS 2010에서 동일한 문제가 발생합니다. 라이브러리의 디버그 및 릴리스는 동일합니다. –

답변

3

디버그 빌드에서 사용중인 libs 목록을보고 릴리스 빌드에 포함되어 있는지 확인하십시오.

확인 라이브러리 경로는

이 릴리스 libs가 존재하는지 확인하고 내가 찾은 나는 최근 VS 2010이 발생

0

올바른 디렉토리에 릴리스 모드에서 올바른지

$(CudaToolkitLibdir)\cudart.lib 

이 릴리스 버전의 링커> 추가 종속성 프로젝트 속성에서 누락되었습니다. 저는 VS 2010과 CUDA ToolKit 5.0을 새로 설치했기 때문에 이것이 왜 그런지 궁금합니다.

cudart.lib와 같은 VS2010 종속성을 수정하는 데 CUDA 툴킷 설치 프로그램이 필요하지 않습니까? 나는 직접 디버그 모드에 대한 cudart.bin 의존성을 수동으로 설치하지 않았다. 설치 프로그램이 릴리스 버전을 건너 뛰는 것이 이상하게 보입니다.

관련 문제