I’m trying to get this thing work. I’m using OpenCV just to read/write images, but I can’t make it work when compiling with nvcc.
I have 3 files:
Prueba.c: Here I load and image with functions from Image.c then call a function to convert the RGB image to Grayscale and finally save the new image.
Image.c: Here are the functions of load/save images, if I work all with .c-files everything works fine.
Conversion.cu: Here I made a parallel function to convert RGB to Grayscale.
To compile I use the following command:
nvcc Prueba.c Image.c ColorConversion.cu -o test -I/usr/local/include/opencv -L/usr/local/lib -lcxcore -lcv -lhighgui -lcvaux
But a lot of errors appear, some of them are:
ptxas /tmp/tmpxft_000003de_00000000-2_pprColorConversion.ptx, line 87; warning : Double is not supported. Demoting to float ld: warning: in /usr/local/lib/libcxcore.dylib, file was built for unsupported file format which is not the architecture being linked (i386) ld: warning: in /usr/local/lib/libcv.dylib, file was built for unsupported file format which is not the architecture being linked (i386) ld: warning: in /usr/local/lib/libhighgui.dylib, file was built for unsupported file format which is not the architecture being linked (i386) ld: warning: in /usr/local/lib/libcvaux.dylib, file was built for unsupported file format which is not the architecture being linked (i386) Undefined symbols: "_cvGetRows", referenced from: _cvGetRow in tmpxft_000003de_00000000-4_Prueba.o _cvGetRow in tmpxft_000003de_00000000-5_Image.o "_cvLog", referenced from: _cvbFastLog in tmpxft_000003de_00000000-4_Prueba.o _cvbFastLog in tmpxft_000003de_00000000-5_Image.o "_cvCreateMat", referenced from: _cvFindFundamentalMatrix in tmpxft_000003de_00000000-4_Prueba.o _cvFindFundamentalMatrix in tmpxft_000003de_00000000-4_Prueba.o _cvKMeans in tmpxft_000003de_00000000-4_Prueba.o _cvFindFundamentalMatrix in tmpxft_000003de_00000000-5_Image.o _cvFindFundamentalMatrix in tmpxft_000003de_00000000-5_Image.o _cvKMeans in tmpxft_000003de_00000000-5_Image.o "_cvBoxPoints", referenced from: _cvMinAreaRect in tmpxft_000003de_00000000-4_Prueba.o _cvMinAreaRect in tmpxft_000003de_00000000-5_Image.o "_cvEllipse", referenced from: _cvEllipseBox in tmpxft_000003de_00000000-4_Prueba.o _cvEllipseAA in tmpxft_000003de_00000000-4_Prueba.o _cvEllipseBox in tmpxft_000003de_00000000-5_pprImage.o _cvEllipseAA in tmpxft_000003de_00000000-5_Image.o
Seems that it has something to do with OpenCV functions, but how can I build my application.
P.S. I’m doing it all under Mac OS X 10.6.6