2013-05-28 4 views
0

Я использую среду Visual Studio 2010 и пытаюсь ускорить некоторые из моих ранее написанных алгоритмов OpenCV с помощью CUDA. У меня есть отдельный файл .cu, который компилируется отлично в Visual Studio, и мой .cpp-файл также компилируется в отдельности.CUDA - OpenCV - ошибка связи C++ в Visual Studio 2010

Но когда я пытаюсь построить решение, которое содержит оба этих файлов я получаю сообщение об ошибке, как показано ниже:

ошибка LNK2019: неразрешенный внешний символ «недействительным __cdecl ComputeBasisKernelWrapper (с плавающей точкой *, поплавок *, плавать * , поплавок *, поплавок *, поплавок * поплавок *, поплавок *, поплавок *, Int, Int)»

ComputeBasisKernelWrapper является функцией, которая определяется с помощью Экстерн "C" в файле .CU и отвечает для создания необходимых распределений CUDA и проведения параллельных вычислений.

У меня есть аналогичная структура, которая отлично работает там, где я использую не объектно-ориентированный .c файл, который вызывает вызовы функций в .cu-файле.

Итак, я не уверен, нужно ли внести некоторые изменения в параметры компиляции или если что-то еще проблема.

Любая помощь приветствуется.

+0

Я думаю, что исправил эту проблему, удалив «extern». Сейчас он компилируется и строит. – Sid

+0

Возможно, вы можете опубликовать то, что вы сделали, чтобы исправить это как ответ. Тогда мы можем ответить на этот вопрос. Благодарю. –

ответ

1

Исправлена ​​ошибка с удалением "extern".

Смежные вопросы