2013-05-28 6 views
0

J'utilise l'environnement Visual Studio 2010 et j'essaie d'accélérer certains de mes algorithmes OpenCV déjà écrits avec l'aide de CUDA. J'ai un fichier .cu séparé qui compile bien individuellement dans Visual Studio et mon fichier .cpp compile également bien individuellement.CUDA - Erreur de liaison OpenCV - C++ dans Visual Studio 2010

Mais lorsque je tente de construire la solution qui contient à la fois de ces fichiers que je reçois une erreur comme ci-dessous:

erreur LNK2019: symbole externe non résolu « void __cdecl ComputeBasisKernelWrapper (float *, flotteur *, flotteur * , flotteur *, * flotteur, * flotteur, * flotteur, * flotteur, * float, int, int) »

ComputeBasisKernelWrapper est une fonction qui est définie à l'aide extern "C" dans le fichier .cu et est responsable pour effectuer les allocations CUDA nécessaires et effectuer des calculs parallèles.

J'ai un cadre similaire qui fonctionne très bien lorsque j'utilise un fichier .c non orienté objet qui fait des appels aux fonctions dans un fichier .cu. Donc, je ne suis pas sûr si j'ai besoin de faire des changements dans les paramètres de compilation ou si quelque chose d'autre est le problème.

Toute aide est appréciée.

+0

Je pense avoir résolu ce problème en supprimant "extern". Il compile et construit bien maintenant. – Sid

+0

Peut-être que vous pouvez poster ce que vous avez fait pour le résoudre comme une réponse. Ensuite, nous pouvons appeler cette question a répondu. Merci. –

Répondre

1

Correction de ce problème en supprimant "extern".

Questions connexes