2010-09-29 140 views
0

您好我正在以下鏈接錯誤,同時從CUDA SRC編譯ConvolutionFFT2DCUDA鏈接錯誤的Visual Studio 2008

1>------ Rebuild All started: Project: FinalTest, Configuration: Release Win32 ------ 

1>Deleting intermediate and output files for project 'FinalTest', configuration   
'Release|Win32' 

1>Compiling with CUDA Build Rule... 

1>"C:\CUDA\bin\nvcc.exe" -ccbin "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin"  -I"C:\CUDA\include" -I"./" -I"../../common/inc" -I"../../../shared/inc" -Xcompiler "/EHsc /W3 /nologo /O2 /Zi /MT " -maxrregcount=32 -gencode=arch=compute_10,code=\"sm_10,compute_10\" -gencode=arch=compute_20,code=\"sm_20,compute_20\" --compile -o "Release\convolutionFFT2D.cu.obj" "c:\Documents and Settings\All Users\Application Data\NVIDIA Corporation\NVIDIA GPU Computing SDK\C\src\convolutionFFT2D\convolutionFFT2D.cu" 

1>convolutionFFT2D.cu 

1>tmpxft_00000a5c_00000000-6_convolutionFFT2D.compute_10.cudafe1.gpu 

1>tmpxft_00000a5c_00000000-10_convolutionFFT2D.compute_10.cudafe2.gpu 

1>convolutionFFT2D.cu 

1>tmpxft_00000a5c_00000000-3_convolutionFFT2D.compute_20.cudafe1.gpu 

1>tmpxft_00000a5c_00000000-14_convolutionFFT2D.compute_20.cudafe2.gpu 

1>convolutionFFT2D.cu 

1>tmpxft_00000a5c_00000000-6_convolutionFFT2D.compute_10.cudafe1.cpp 

1>tmpxft_00000a5c_00000000-20_convolutionFFT2D.compute_10.ii 

1>Compiling... 

1>convolutionFFT2D_gold.cpp 

1>main.cpp 

1>Linking... 

1>main.obj : error LNK2001: unresolved external symbol [email protected] 

1>main.obj : error LNK2001: unresolved external symbol [email protected] 

1>main.obj : error LNK2001: unresolved external symbol [email protected] 

1>main.obj : error LNK2001: unresolved external symbol [email protected] 

1>C:\Documents and Settings\Administrator\My Documents\Visual Studio 
2008\Projects\FinalTest\Release\FinalTest.exe : fatal error LNK1120: 4 unresolved externals 

1>Build log was saved at "file://c:\Documents and Settings\Administrator\My Documents\Visual Studio 2008\Projects\FinalTest\FinalTest\Release\BuildLog.htm" 

1>FinalTest - 5 error(s), 0 warning(s) 
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ========== 

C/C++ - >代碼生成 - >運行時庫設置爲MT在釋放和MTD在調試模式。

任何輸入?

編輯: 添加cufft.lib在連接器 - >輸入 - >附加依賴.....它會正常工作

+0

對不起,我真的不使用Visual Studio。 – karlphillip 2010-09-30 03:25:05

回答

1

在連接器 - 添加cufft.lib>輸入 - >附加依賴.....它會正常工作

0

由於您的解決方案是編輯,你只需要cufft.lib添加到您的額外的依賴關係。既然你使用Visual Studio編譯,你可能更願意使用該編譯:

#pragma comment (lib, "cufft.lib") 

然後,您可以用其他的東西控制這種類似

#if USE_CUDA_FFT && (defined(WIN32) || defined(WIN64)) 

#pragma comment (lib, "cufft.lib") 

#endif 

我使用類似交換機這樣的支持有條件編譯在Linux(使用gcc)以及使用相同源文件的Windows(VS '05/'08/'10)中。