2009-11-18 9 views
1

Je reçois cette erreur en essayant d'exécuter des exemples de codes dans CUDA SDK. J'ai CUDA 2.3 et Visual Studio 2008erreur dans la compilation CUDA

LINK: LNK1181 d'erreur fatale: ne peut pas déposer d'entrée ouvert 'cutil32D.lib'

Les pointeurs comment résoudre ce problème?

Répondre

1

Votre projet MSVC doit inclure la bibliothèque cutil32D.lib à lier. Une fois que vous l'avez spécifié en tant que bibliothèque que l'éditeur de liens doit inclure dans l'artefact binaire final, ce problème disparaîtra. Il semblerait que la bibliothèque soit manquante à l'endroit où le linker va le chercher. Vous devrez modifier les chemins de recherche de la bibliothèque ou déplacer ce fichier vers un répertoire dans lequel l'éditeur de liens recherche déjà.

+0

comment faire cela dans Visual studio 2008? – emkrish

+1

emkrish, Ouvrez les propriétés de votre projet Visual Studio, cliquez sur l'éditeur de liens, ajoutez le chemin d'accès aux "répertoires de bibliothèque supplémentaires" Lisez les documents d'aide de Visual Studio: http://msdn.microsoft.com/fr-fr/library /1xhzskbe.aspx –

5

Étant donné que vous compilez les exemples de SDK, les fichiers de projet sont probablement corrects. Beaucoup plus probable est que vous n'avez pas construit la bibliothèque de Cutil. Allez dans le répertoire d'installation du SDK, puis dans le répertoire "C". Vous verrez un répertoire "commun", ouvrez là la solution cutil.sln (ou cutil_vc90.sln pour VS2008) et construisez-la dans les modes release et debug pour votre plate-forme.

Ensuite, essayez à nouveau votre échantillon. La bibliothèque cutil est utilisée pour éviter de répliquer le même code dans tous les exemples, si vous lancez votre propre projet, j'éviterais de réutiliser la bibliothèque de cutil et d'écrire votre propre vérificateur. Par exemple, vous devriez probablement échouer gracieusement si vous détectez une erreur CUDA au lieu de simplement appeler exit() comme dans cutil.

Le fichier cuda.rules inclus dans le SDK est fortement recommandé! En utilisant cela, vous pouvez simplement ajouter des fichiers .cu à n'importe quel projet et Visual Studio saura comment les compiler et les relier à l'exécutable final. Facile!

1

J'ai rencontré le même problème. Il s'est avéré que non seulement j'avais besoin de construire le projet cutil mais aussi le projet shrUtils sous le dossier partagé du SDK.