Ошибки при запуске clsurf - PullRequest
0 голосов
/ 20 марта 2012

Я пытаюсь запустить код CLSurf, размещенный на http://code.google.com/p/clsurf/source/browse/#svn%2Ftrunk%2Fsrc У меня есть видеокарта ATI, которая поддерживает OpenCL. Я также установил OpenCV. Я положил каталоги путей как OpenCL (AMD SDK), так и OpenCV. Но когда я запускаю программу, возникают следующие ошибки. Я в растерянности и не могу понять.

<code></p>

<p>main.obj : error LNK2019: unresolved external symbol "int __cdecl surfRef(char *,int,int,int,float,void * *)" (?surfRef@@YAHPADHHHMPAPAX@Z) referenced in function "int __cdecl mainImage(struct _cl_kernel * *,char *,char *,char *,bool)" (?mainImage@@YAHPAPAU_cl_kernel@@PAD11_N@Z)
1>C:\Users\RohitRP\Documents\AMD APP\\samples\opencl\bin\debug\x86\openclsurf.exe : fatal error LNK1120: 1 unresolved externals

Я знаю, что здесь много ошибок. Но так как он размещен на code.google.com, я предполагаю, что это должен быть правильный код, и это моя ошибка. Я был бы очень признателен за помощь. Заранее спасибо

Ответы [ 2 ]

1 голос
/ 01 апреля 2012

Насколько я знаю, в clsurf нет ничего, что действительно было бы специфично для Windows или Linux

Проблема заключается в вызове функции "surfRef", которая используется для вызова базовой реализации последовательного SURF, на которую вы можете ссылаться. Мы использовали последовательный базовый уровень для сравнения нашего кода.

http://www.chrisevansdev.com/computer-vision-opensurf.html

Базовая линия C ++ не включена в код OpenCL, так как она не нужна и также не создана нами. Вы можете просто закомментировать блок if (verifyResults) или вызов функции в строке 300 в main.cpp

Я должен был добавить макрос вокруг него, чтобы отключить его, если проверка не требуется. Извините за это.

1 голос
/ 21 марта 2012

AFAIK, clSurf в настоящее время реализован и работает в Linux. Вы перенесли это в Windows, чтобы он работал с помощью Visual Studio?Вы проверяли ниже вики http://code.google.com/p/clsurf/source/browse/wiki/InstallationLinux.wiki

...