Настройка CUDA и OpenCV с Visual Studio на 64-битной машине - PullRequest
0 голосов
/ 28 сентября 2010

С прошлой недели я пытался настроить OpenCV2.1 и CUDA3.1 в Visual Studio 2008 на 64-битной машине с Windows XP. Но все напрасно.

Только OpenCV работает нормально. Только CUDA3.1 работает нормально. Я использую CUDA3.1 для 64-разрядных ... Но для OpenCV я использую 32-разрядную установку (как указано в Source Forge) - возможная ошибка ??

В проекте CUDA при настройке параметров OpenCV и компиляции примера проекта я получаю сообщение об ошибке в следующих файлах:

cxcore.hpp cxoperations.hpp cxcore.hpp cxmat.hpp а также по правилам сборки CUDA.

Все вышеперечисленные файлы написаны не мной; но это библиотеки (наверное).

Есть ли какие-либо инструкции по установке CUDA, OpenCV поверх VS на 64-битной машине XP?

Ответы [ 2 ]

3 голосов
/ 29 сентября 2010

Библиотеки, связанные с вашим приложением, должны быть скомпилированы в одну и ту же арку. Вы не можете смешивать архитектуры.

Другими словами, вы должны скомпилировать все - ваше приложение, OpenCV и CUDA - должны быть 32-битными (или 64-битными, если вам нужно).

Мой вам совет - скомпилируйте CUDA для 32-битной версии, а затем измените свойства вашего проекта, чтобы приложение тоже стало 32-битным (поскольку у вас уже есть 32-битная версия OpenCV).

EDIT:

Для проблем со связыванием:

unresolved external symbol _cufftExecR2C@12
unresolved external symbol _cufftExecC2R@12
unresolved external symbol _cufftPlan2d@16
unresolved external symbol _cufftDestroy@4

согласно этой записи , добавьте эту библиотеку в настройки своего проекта: cufft.lib

0 голосов
/ 30 сентября 2010

Я считаю, что вам нужно собрать 64-битные библиотеки Cmake - но я не уверен.Вам определенно нужно собрать OpenCV в x64 для сборки собственных приложений на Win XP x64.Если сборка OpenCV показывает ошибки, вам нужно сначала их устранить, прежде чем пытаться скомпилировать ваше приложение, которое ссылается на все еще неправильно скомпилированные библиотеки OpenCV.

...