[PD-dev] linking against Gem.dll on Mingw

Hans-Christoph Steiner hans at eds.org
Tue Jul 1 15:51:30 CEST 2008


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






More information about the Pd-dev mailing list