I asked this on gem-dev, I thought I'd try here too:
I am trying to build pix_opencv on MinGW and I have everything working, it builds and links against the opencv dlls, but I can't get it to link against the Gem.dll. Anyone have any ideas about this?
Here's the linker errors:
g++ -DPD -O2 -funroll-loops -fomit-frame-pointer -ffast-math -Wall - W -Wno-unused -Wno-parentheses -Wno-switch -DGEM_OPENCV_VERSION="0.1 " -g -mms-bitfields -DMSW -DNT -I../../pd/src -I. -I../../Gem/src - I../../pd/src -Iopencv/include/mingw/opencv -o pix_opencv_edge.o -c pix_opencv_edge.cc gcc -shared -o pix_opencv_edge.dll pix_opencv_edge.o -L../../pd/bin - L../../pd/obj -lpd -lkernel32 -luser32 -lgdi32 -lm -L/c/progra~1/pd/ extra -lGem -Lopencv/bin -lmgwcv100 -lmgwcvaux100 -lmgwcxcore100 pix_opencv_edge.o: In function `ZN7GemBase10stoprenderEv': c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemBase.h:62: undefined reference to `__gxx_personality_sj0' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemBase.h:62: undefined reference to `GemPixObj::GemPixObj()' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemBase.h:62: undefined reference to `GemBase::~GemBase()' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemBase.h:62: undefined reference to `vtable for GemPixObj' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemBase.h:62: undefined reference to `imageStruct::~imageStruct()' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemBase.h:62: undefined reference to `GemBase::~GemBase()' pix_opencv_edge.o: In function `Z22create_pix_opencv_edgev': c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/pix_opencv/ pix_opencv_edge.cc:20: undefined reference to `__gxx_personality_sj0' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/pix_opencv/ pix_opencv_edge.cc:20: undefined reference to `operator new(unsigned int, void*, void*)' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/pix_opencv/ pix_opencv_edge.cc:20: undefined reference to `CPPExtern::m_holder' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/pix_opencv/ pix_opencv_edge.cc:20: undefined reference to `CPPExtern::m_holdname' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/pix_opencv/ pix_opencv_edge.cc:20: undefined reference to `operator new(unsigned int)' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/pix_opencv/ pix_opencv_edge.cc:20: undefined reference to `CPPExtern::m_holder' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/pix_opencv/ pix_opencv_edge.cc:20: undefined reference to `CPPExtern::m_holdname' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/pix_opencv/ pix_opencv_edge.cc:20: undefined reference to `operator delete(void*)' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/pix_opencv/ pix_opencv_edge.cc:20: undefined reference to `__cxa_begin_catch' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/pix_opencv/ pix_opencv_edge.cc:20: undefined reference to `vtable for GemException' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/pix_opencv/ pix_opencv_edge.cc:20: undefined reference to `GemException::report() const' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/pix_opencv/ pix_opencv_edge.cc:20: undefined reference to `GemException::~GemException()' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/pix_opencv/ pix_opencv_edge.cc:20: undefined reference to `__cxa_end_catch' pix_opencv_edge.o: In function `ZN15pix_opencv_edgeC2Ev': c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/pix_opencv/ pix_opencv_edge.cc:31: undefined reference to `__gxx_personality_sj0' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/pix_opencv/ pix_opencv_edge.cc:31: undefined reference to `GemPixObj::GemPixObj()' pix_opencv_edge.o: In function `ZN15pix_opencv_edgeC2Ev': c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemPixObj.h:46: undefined reference to `GemBase::~GemBase()' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemPixObj.h:46: undefined reference to `vtable for GemPixObj' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemPixObj.h:46: undefined reference to `imageStruct::~imageStruct()' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemPixObj.h:46: undefined reference to `GemBase::~GemBase()' pix_opencv_edge.o: In function `ZN15pix_opencv_edgeD2Ev': c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/pix_opencv/ pix_opencv_edge.cc:50: undefined reference to `__gxx_personality_sj0' pix_opencv_edge.o: In function `ZN15pix_opencv_edgeD2Ev': c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemPixObj.h:46: undefined reference to `vtable for GemPixObj' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemPixObj.h:46: undefined reference to `imageStruct::~imageStruct()' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemPixObj.h:46: undefined reference to `GemBase::~GemBase()' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemPixObj.h:46: undefined reference to `GemBase::~GemBase()' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemPixObj.h:46: undefined reference to `GemBase::~GemBase()' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemPixObj.h:46: undefined reference to `vtable for GemPixObj' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemPixObj.h:46: undefined reference to `imageStruct::~imageStruct()' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemPixObj.h:46: undefined reference to `GemBase::~GemBase()' pix_opencv_edge.o: In function `ZN15pix_opencv_edgeD1Ev': c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/pix_opencv/ pix_opencv_edge.cc:50: undefined reference to `__gxx_personality_sj0' pix_opencv_edge.o: In function `ZN15pix_opencv_edgeD1Ev': c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemPixObj.h:46: undefined reference to `vtable for GemPixObj' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemPixObj.h:46: undefined reference to `imageStruct::~imageStruct()' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemPixObj.h:46: undefined reference to `GemBase::~GemBase()' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemPixObj.h:46: undefined reference to `GemBase::~GemBase()' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemPixObj.h:46: undefined reference to `GemBase::~GemBase()' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemPixObj.h:46: undefined reference to `vtable for GemPixObj' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemPixObj.h:46: undefined reference to `imageStruct::~imageStruct()' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemPixObj.h:46: undefined reference to `GemBase::~GemBase()' pix_opencv_edge.o: In function `ZN15pix_opencv_edgeD0Ev': c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/pix_opencv/ pix_opencv_edge.cc:50: undefined reference to `__gxx_personality_sj0' pix_opencv_edge.o: In function `ZN15pix_opencv_edgeD0Ev': c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemPixObj.h:46: undefined reference to `vtable for GemPixObj' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemPixObj.h:46: undefined reference to `imageStruct::~imageStruct()' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemPixObj.h:46: undefined reference to `GemBase::~GemBase()' pix_opencv_edge.o: In function `ZN15pix_opencv_edgeD0Ev': c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/pix_opencv/ pix_opencv_edge.cc:58: undefined reference to `operator delete(void*)' pix_opencv_edge.o: In function `ZN15pix_opencv_edgeD0Ev': c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemPixObj.h:46: undefined reference to `GemBase::~GemBase()' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemPixObj.h:46: undefined reference to `GemBase::~GemBase()' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemPixObj.h:46: undefined reference to `vtable for GemPixObj' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemPixObj.h:46: undefined reference to `imageStruct::~imageStruct()' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemPixObj.h:46: undefined reference to `GemBase::~GemBase()' pix_opencv_edge.o: In function `pix_opencv_edge_setup': c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemBase.h:106: undefined reference to `GemBase::obj_setupCallback(_class*)' pix_opencv_edge.o: In function `pix_opencv_edge_setup': c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemPixObj.h:113: undefined reference to `GemPixObj::obj_setupCallback(_class*)' pix_opencv_edge.o: In function `ZN7GemBase10stoprenderEv': c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemBase.h:62: undefined reference to `GemPixObj::render(GemState*)' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemBase.h:62: undefined reference to `GemPixObj::postrender(GemState*)' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemBase.h:62: undefined reference to `GemBase::setModified()' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemBase.h:62: undefined reference to `GemBase::isRunnable()' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemBase.h:62: undefined reference to `GemPixObj::processImage(imageStruct&)' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemBase.h:62: undefined reference to `GemPixObj::processRGBAMMX(imageStruct&)' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemBase.h:62: undefined reference to `GemPixObj::processRGBASSE2(imageStruct&)' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemBase.h:62: undefined reference to `GemPixObj::processRGBAAltivec(imageStruct&)' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemBase.h:62: undefined reference to `GemPixObj::processGrayMMX(imageStruct&)' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemBase.h:62: undefined reference to `GemPixObj::processGraySSE2(imageStruct&)' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemBase.h:62: undefined reference to `GemPixObj::processGrayAltivec(imageStruct&)' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemBase.h:62: undefined reference to `GemPixObj::processYUVMMX(imageStruct&)' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemBase.h:62: undefined reference to `GemPixObj::processYUVSSE2(imageStruct&)' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemBase.h:62: undefined reference to `GemPixObj::processYUVAltivec(imageStruct&)' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemBase.h:62: undefined reference to `vtable for __cxxabiv1::__si_class_type_info' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemBase.h:62: undefined reference to `vtable for __cxxabiv1::__si_class_type_info' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemBase.h:62: undefined reference to `vtable for __cxxabiv1::__si_class_type_info' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemBase.h:62: undefined reference to `vtable for __cxxabiv1::__class_type_info' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemBase.h:62: undefined reference to `GemBase::realStopRendering()' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemBase.h:62: undefined reference to `GemPixObj::setPixModified()' c:/msys/1.0/home/pd/auto-build/pd-main+libs/externals/ pix_opencv/../../Gem/src/Base/GemBase.h:62: undefined reference to `vtable for __cxxabiv1::__class_type_info' collect2: ld returned 1 exit status make: *** [pix_opencv_edge.dll] Error 1 rm pix_opencv_edge.o
.hc
------------------------------------------------------------------------ ----
There is no way to peace, peace is the way. -A.J. Muste