MySQL++ mit MinGW



  • Moin,

    ich versuche gerade MySQL++ unter MinGW (g++ - Version 4.3.2) zum Laufen zu bekommen.
    Die Sources wurden erfolgreich kompiliert, nun gibt es aber ein anderes Problem.

    Folgendes kompiliert noch und das Programm gibt "OK." aus:

    #include <iostream>
    #include <mysql++.h>
    
    using namespace std;
    
    int main()
    {
       mysqlpp::Connection conn(false);
       if (conn.connect("test", "localhost", "root", "**********"))
       {
          cout << "OK." << endl;
          //mysqlpp::Query query=conn.query("select \'test\' as somestring");
       }
    }
    

    Wenn man die auskommentierte Zeile jetzt dazunimmt (diese hab ich so von einem Beispiel aus dem Manual übernommen), gibt der Compiler mit folgender Fehlermeldung auf (sowohl in der Debug- wie auch in der Releaseversion):

    L:\Programme\Projects\Various\MySQLTest\main.cpp|14|internal compiler error: in maybe_emit_vtables, at cp/decl2.c:1745|

    Ich bin etwas ratlos, wie ich da jetzt weiter vorgehen soll.
    Hat das schonmal jemand mit MinGW zum laufen gebracht? MySQL++ ist ja recht bekannt, die Chancen stehen also gut, dass jemand schon einmal über das gleiche Problem gestolpert ist.
    Notfalls bin ich natürlich auch Vorschlägen für brauchbare Alternativen zu MySQL++ nicht abgeneigt.

    Gruß,
    David



  • Nanyuki schrieb:

    L:\Programme\Projects\Various\MySQLTest\main.cpp|14|internal compiler error: in maybe_emit_vtables, at cp/decl2.c:1745|

    Sagt doch wohl alles, oder? 😃 Der Compiler hat nen Bug ➡ Bug-Report.



  • Jo, das werde ich wohl auch noch machen.
    Aber es kann je nach dem noch ein ganzes Weilchen dauern, bis das gefixt wird. Es wäre natürlich praktisch, wenn ich das ganze nicht bis dahin aufschieben müsste. Ich hoffe, dass vielleicht schon ein Workaround bekannt ist.



  • Besteht das Problem auch in älteren Version? Oder brauchst du 4.3.x wegen C++0x?



  • Wegen C++0x nicht unbedingt, aber ich habe mir die neuere Version wegen OpenMP zugelegt.
    Und stimmt, unter v3.4.2 kompiliert das ganze (mit 563 Warnungen 😃 ) und mit v4.2.1 ebenfalls. Und da letztere Version bereits OpenMP unterstützt, dürfte ein Downgrade vorerst die beste Lösung sein.
    v4.2.1 erzeugt zwar vergleichsweise recht große Binaries, aber heutzutage ist das zum Glück nicht mehr so relevant.


Log in to reply