2010-09-29 8 views
0

Salut, je reçois l'erreur Liaison suivante lors de la compilation ConvolutionFFT2D de CUDA srcCUDA Linking erreur 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++ -> génération de code -> bibliothèque d'exécution est réglé sur MT dans la version et MTd en Mode débogage.

Aucune entrée?

EDIT: Ajouter cufft.lib dans Linker-> Input-> Dépendances supplémentaires ..... Et cela fonctionnera très bien

+0

Désolé, je ne vraiment pas utiliser Visual Studio. – karlphillip

Répondre

1

Ajouter cufft.lib dans Linker-> Input-> Dépendances supplémentaires ..... Et cela fonctionnera très bien

0

En tant que votre solution a été modifiée, il vous suffit d'ajouter à votre cufft.lib dépendances supplémentaires. Puisque vous compilez avec Visual Studio, vous pouvez préférer utiliser le pragma:

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

Vous pouvez contrôler cela avec d'autres choses comme

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

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

#endif 

J'utilise des commutateurs similaires comme celui-ci pour soutenir la compilation conditionnelle sous Linux (avec gcc) ainsi que sous Windows (VS '05/'08/'10) en utilisant les mêmes fichiers source.