Continuing with insight3d...
...Seems like my opencv was built for i386 architecture (despite being on a 64 bit architecture).
Manually changed CMakeCache.txt to read:
CMAKE_OSX_ARCHITECTURES:STRING=x86_64
did make clean and make, we'll see how it goes (takes a long time to compile, IIRC).
Didn't work right away.
Deleted contents of build dir, and rebuilding, using instructions at http://opencv.willowgarage.com/wiki/Mac_OS_X_OpenCV_Port, but also changing architecture to x86_64.
Getting trouble with carbon, because it is not 64 bits. Trying to disable carbon.
Uncommented #undef HAVE_CARBON something in cvconfig.h
That didn't work.
Modified the CMakefile for highgui to use gtk+ highgui code also under APPLE.
rebuilding (in src/highgui/CMakeLists.txt). This time it actually built.
Argh. Now I get the following when building insight3d:
This mix of 64 bit and 32 bit libraries is really frustrating. I imagine some will be 32 bit, others 64 bit. What is the best strategy? Force everything to be 32 bits? 64 bits?Erland-Lewins-Mac-mini:src erl$ makear rc ../lib/libfeat.a imgfeatures.o utils.o sift.o kdtree.o minpq.o xform.oranlib ../lib/libfeat.agcc -O3 -I../include `pkg-config --cflags opencv` `pkg-config --cflags gtk+-2.0` `pkg-config --cflags gsl` siftfeat.c -o ../bin/siftfeat -L../lib -lfeat `pkg-config --libs opencv` `pkg-config --libs gtk+-2.0` `pkg-config --libs gsl`ld: warning: in /sw/lib/libgtk-x11-2.0.dylib, file is not of required architectureld: warning: in /sw/lib/libgdk-x11-2.0.dylib, file is not of required architectureld: warning: in /sw/lib/libatk-1.0.dylib, file is not of required architectureld: warning: in /sw/lib/libgio-2.0.dylib, file is not of required architectureld: warning: in /sw/lib/libpangoft2-1.0.dylib, file is not of required architectureld: warning: in /sw/lib/libgdk_pixbuf-2.0.dylib, file is not of required architectureld: warning: in /sw/lib/libpangocairo-1.0.dylib, file is not of required architectureld: warning: in /sw/lib/libcairo.dylib, file is not of required architectureld: warning: in /sw/lib/libpango-1.0.dylib, file is not of required architectureld: warning: in /sw/lib/libfreetype.dylib, file is not of required architectureld: warning: in /sw/lib/libgobject-2.0.dylib, file is not of required architectureld: warning: in /sw/lib/libgmodule-2.0.dylib, file is not of required architectureld: warning: in /sw/lib/libglib-2.0.dylib, file is not of required architectureld: warning: in /sw/lib/libintl.dylib, file is not of required architectureld: warning: in /sw/lib/libgsl.dylib, file is not of required architectureld: warning: in /sw/lib/libgslcblas.dylib, file is not of required architectureUndefined symbols:"_gdk_screen_get_default", referenced from:_display_big_img in libfeat.a(utils.o)"_gdk_screen_get_height", referenced from:_display_big_img in libfeat.a(utils.o)"_gdk_init", referenced from:_display_big_img in libfeat.a(utils.o)"_gdk_screen_get_width", referenced from:_display_big_img in libfeat.a(utils.o)ld: symbol(s) not foundcollect2: ld returned 1 exit statusmake: *** [siftfeat] Error 1
The night ends in frustration.
No comments:
Post a Comment