<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt"><div><span>Here you go, verbose link log attached.<br></span></div><div><br><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; margin-top: 5px; padding-left: 5px;">  <div style="font-family: times new roman, new york, times, serif; font-size: 12pt;"> <div style="font-family: times new roman, new york, times, serif; font-size: 12pt;"> <div dir="ltr"> <hr size="1">  <font face="Arial" size="2"> <b><span style="font-weight:bold;">De :</span></b> Andoni Morales <ylatuya@gmail.com><br> <b><span style="font-weight: bold;">À :</span></b> philippe renon <philippe_renon@yahoo.fr> <br><b><span style="font-weight: bold;">Cc :</span></b> Discussion of the development of and with GStreamer <gstreamer-devel@lists.freedesktop.org> <br> <b><span style="font-weight: bold;">Envoyé le
 :</span></b> Mardi 1 octobre 2013 16h01<br> <b><span style="font-weight: bold;">Objet :</span></b> Re: GStreamer SDK - link error since upgrading to latest version (2012.11Brahmaputra)<br> </font> </div> <div class="y_msg_container"><br><div id="yiv4305045579"><div dir="ltr"><br><div class="yiv4305045579gmail_extra"><br><br><div class="yiv4305045579gmail_quote">2013/9/20 philippe renon <span dir="ltr"><<a rel="nofollow" ymailto="mailto:philippe_renon@yahoo.fr" target="_blank" href="mailto:philippe_renon@yahoo.fr">philippe_renon@yahoo.fr</a>></span><br><blockquote class="yiv4305045579gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div><div style="font-size:12pt;font-family:times new roman, new york, times, serif;"><div><span>Hi,<br><br>I am reviving this thread as things have moved a bit since the last post.<br><br>To resume the issue at hand : I was happily developing with Qt and GStreamer SDK.<br>

Then I upgraded to a more recent version of the GStreamer SDK and started hitting a link issue (on Windows...).<br>With the help of the community I came to understand that the issue was caused by a MinGW toolchain incompatibility concerning exceptions.<br>

- the upgraded GStreamer SDK was compiled with SJLJ exceptions (prior version was using DWARF)<br>- Qt was compiled with DWARF exceptions<br>- It is not possible to mix the two models in the same compilation unit.<br><br>

At the time my hopes to solve this issue were boosted when I was pointed to a new release of Qt (5.0.1) that was compiled with SJLJ exceptions.<br><br>Since then, the open
 source project I contribute to has switched to Qt 5.1.0, so I revisited the link issue.<br>But, unfortunately, that version of Qt switched back to DWARF...<br>The trigger for the switch was performance issues with SJLJ.<br>

<br>The switch was announced and motivated here : <a rel="nofollow" target="_blank" href="http://lists.qt-project.org/pipermail/development/2013-April/010667.html">http://lists.qt-project.org/pipermail/development/2013-April/010667.html</a><br>

Additionaly, this page compares the exception models and arguments the choice made by Qt : <a rel="nofollow" target="_blank" href="http://qt-project.org/wiki/MinGW-64-bit">http://qt-project.org/wiki/MinGW-64-bit</a><br><br>Here is the failing link command:<br>

<br>g++ -shared -mthreads -Wl,--out-implib,D:/Projects/OP5/build/openpilotgcs_debug/lib/openpilotgcs/libGST_libd.a -o ../../../lib/openpilotgcs/GST_libd.dll<br>debug/gst_global.o debug/videowidget.o debug/moc_videowidget.o<br>

-lglu32 -lopengl32 -lgdi32 -luser32<br>-LD:/Projects/OP5/build/openpilotgcs_debug/lib/openpilotgcs -Ld:/gstreamer/1.0/x86/lib -lgobject-2.0 -lglib-2.0
 -lgstreamer-1.0<br>-Ld:/Projects/OpenPilotTools/qt-5.1.0/5.1.0/mingw48_32/lib -lQt5Testd -lQt5Guid -lQt5Cored<br><br>debug/gst_global.o:gst_global.cpp:(.eh_frame$_ZN6QDebug6StreamD1Ev+0x13): undefined reference to `__gxx_personality_v0'<br>

debug/gst_global.o:gst_global.cpp:(.eh_frame$_ZN6QDebugD1Ev+0x13): undefined reference to `__gxx_personality_v0'<br>debug/gst_global.o:gst_global.cpp:(.eh_frame$_ZN6QDebuglsEPKc+0x13): undefined reference to `__gxx_personality_v0'<br>

debug/gst_global.o:gst_global.cpp:(.eh_frame+0x13): undefined reference to `__gxx_personality_v0'<br>debug/gst_global.o:gst_global.cpp:(.eh_frame$_ZN5QListI7QStringE6appendERKS0_+0x13): undefined reference to `__gxx_personality_v0'<br>

debug/gst_global.o:gst_global.cpp:(.eh_frame$_ZN5QListI7QStringE9node_copyEPNS1_4NodeES3_S3_+0x13): more undefined references to `__gxx_personality_v0' follow<br>debug/videowidget.o: In function
 `ZN11VideoWidgetC2EP7QWidget':<br>d:\Projects\OP5\build\openpilotgcs_debug\src\libs\gst_lib/../../../../../ground/openpilotgcs/src/libs/gst_lib/videowidget.cpp:72: undefined reference to `_imp___ZN7QWidgetC2EPS_6QFlagsIN2Qt10WindowTypeEE'<br>

<snip><br></span></div></div></div></blockquote><div> </div><div><br></div><div>Could you please paste the full  output of the link step with g++ -v to check which libraries it's using in the link? It seems that at some point it's pulling some wrong dependency (maybe because of -L ordering)<br>

<br>Cheers<br>Andoni<br><br></div></div></div></div></div><br><br></div> </div> </div> </blockquote></div>   </div></body></html>