Using MINGW, I'm trying to link my C code with a static C++ library that performs some OLE operations:
mingw32-gcc main.o resources.o -o mbcom.exe -L../../Lib/Iup -liup -liupole -lole32 -lcomctl32 -lstdc++ -mwindows
Unfortunately, I get this:
../../Lib/Iup/libiupole.a(tOleHandler.o):tOleHandler.cpp:(.text+0x341): undefined reference to `IID_IOleControl'
../../Lib/Iup/libiupole.a(tOleHandler.o):tOleHandler.cpp:(.text+0x9b0): undefined reference to `IID_IViewObject2'
../../Lib/Iup/libiupole.a(tOleHandler.o):tOleHandler.cpp:(.text+0xcb5): undefined reference to `IID_IUnknown'
../../Lib/Iup/libiupole.a(tOleHandler.o):tOleHandler.cpp:(.text+0xce8): undefined reference to `IID_IPersistStorage'
../../Lib/Iup/libiupole.a(tOleHandler.o):tOleHandler.cpp:(.text+0xd1b): undefined reference to `IID_IOleObject'
../../Lib/Iup/libiupole.a(tOleHandler.o):tOleHandler.cpp:(.text+0xd9d): undefined reference to `IID_IUnknown'
../../Lib/Iup/libiupole.a(tOleHandler.o):tOleHandler.cpp:(.text+0xdbf): undefined reference to `IID_IOleClientSite'
../../Lib/Iup/libiupole.a(tOleHandler.o):tOleHandler.cpp:(.text+0xde1): undefined reference to `IID_IOleWindow'
../../Lib/Iup/libiupole.a(tOleHandler.o):tOleHandler.cpp:(.text+0xe03): undefined reference to `IID_IOleControlSite'
../../Lib/Iup/libiupole.a(tOleHandler.o):tOleHandler.cpp:(.text+0xe25): undefined reference to `IID_IDispatch'
../../Lib/Iup/libiupole.a(tOleHandler.o):tOleHandler.cpp:(.text+0xe51): undefined reference to `IID_IOleInPlaceSite'
../../Lib/Iup/libiupole.a(tOleHandler.o):tOleHandler.cpp:(.text+0x1129): undefined reference to `GUID_NULL'
../../Lib/Iup/libiupole.a(tOleHandler.o):tOleHandler.cpp:(.text+0x124d): undefined reference to `GUID_NULL'
../../Lib/Iup/libiupole.a(tOleInPlaceSite.o):tOleInPlaceSite.cpp:(.text+0xc8): undefined reference to `IID_IOleInPlaceObject'
../../Lib/Iup/libiupole.a(tDispatch.o):tDispatch.cpp:(.text+0x108): undefined reference to `GUID_NULL'
../../Lib/Iup/libiupole.a(tDispatch.o):tDispatch.cpp:(.text+0x137): undefined reference to `VariantInit@4'
../../Lib/Iup/libiupole.a(tOleInPlaceFrame.o):tOleInPlaceFrame.cpp:(.text+0x1d9): undefined reference to `IID_IUnknown'
../../Lib/Iup/libiupole.a(tOleInPlaceFrame.o):tOleInPlaceFrame.cpp:(.text+0x211): undefined reference to `IID_IOleInPlaceUIWindow'
../../Lib/Iup/libiupole.a(tOleInPlaceFrame.o):tOleInPlaceFrame.cpp:(.text+0x22b): undefined reference to `IID_IOleWindow'
../../Lib/Iup/libiupole.a(tOleInPlaceFrame.o):tOleInPlaceFrame.cpp:(.text+0x245): undefined reference to `IID_IOleInPlaceFrame'
collect2: ld returned 1 exit status
mingw32-make: *** [mbcom.exe] Error 1
The only solution I can find is to link with libole32, but as you can see, I'm already doing that.
Any other ideas?
libuuid is where these things should be found.
Except VariantInit, which is in liboleaut32.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With