0 November Übersicht der IT-Events in Dresden

Hier wieder eine Übersicht für den Monat November. Es gibt wieder spannende Vorträge, schaut einfach rein:

weiterlesen→

0 Oktober Übersicht der IT-Events in Dresden

Im Oktober stehen folgende Veranstaltungen auf dem Programm:

weiterlesen→

0 6. MobileCamp Dresden

Wir hatten das Glück ein tolles MobileCamp genießen zu dürfen. Es gab sehr gute und vor allem sehr abwechslungsreiche Sessions.

weiterlesen→

Revision 2014 (Saarbrücken)

Zum dritten mal dieses Jahr verbrachten wir Ostern wieder auf der Revision in Saarbrücken.

Revision ist die größte reine Demoszene Party der Welt. Es geht dabei um fast alle Arten der Computerkunst. Von 3D-Grafik, Videos, Musik und Sound auf modernen PCs und alten Plattformen (inkl. Amiga, C64) bis hin zu Custom Demo-Plattformen wird alles benutzt und gezeigt.

weiterlesen→

0 Qt moc ab Boost 1.48

Versucht man in einem Qt Projekt eine aktuelle Boost Version einzubinden, wird man schnell feststellen, dass der Qt moc-Compiler nicht durch die Header von Boost kommt.

.../boost/mpl/if.hpp(131): Warning: Macro argument mismatch.
.../boost/mpl/eval_if.hpp(67): Warning: Macro argument mismatch.
.../boost/mpl/void.hpp(71): Warning: Macro argument mismatch.
.../boost/mpl/begin_end.hpp(52): Warning: Macro argument mismatch.
.../boost/mpl/negate.hpp(52): Warning: Macro argument mismatch.
...
*snip*
...NMAKE : fatal error U1077: 'C:\Qt\5.2.0\msvc2012\bin\moc.exe' : return code '0xc0000005'
Stop.

Der moc-Compiler aus Qt 5.2 erzeugt statt Fehler nur noch Warnings, werden davon genug erzeugt, bricht das Tool trotzdem mit einem Fehler ab.

Es bleibt zur Zeit nur der Workaround, die Boost-Includes vor dem Moc-Compiler zu verstecken.

Beispiel:


#ifndef Q_MOC_RUN
#  include <boost/serialization.h>
#endif

Will man ein bestehendes Qt-Projekt auf eine neue Boost Version heben, ist es natürlich sehr mühselig den Include-Guard überall im Code einzufügen.
Mit den RegExp-Ersetzen von Sublime Text kann dies mit folgenden Ausdrücken automatisiert werden.

 Find: ((\n#include <boost/[^\n]+)+)
 Replace: \n#ifndef Q_MOC_RUN\1\n#endif

Wir haben in unserem Branch von QxORM bei Github die notwendigen Anpassungen bereits umgesetzt.

kommentieren→

© 2012 – 2018 HicknHack Software GmbH | Impressum | Datenschutzerklärung