2010-09-29 138 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)中。