vielleicht kann mir jemand eine Hilfestellung geben.
Ich habe IBPP unter mingw mit 64 Bit kompiliert und als Bibliothek gelinkt. Soweit funktioniert das auch. IBPP nutzt an diversen Stellen Exception-Handling für die Weitergabe von DB-Meldungen. Sobald ich jedoch eine Exception auslöse, stürzt mein Programm ab.
Umgebung:
Windows Server 2016 64 Bit
Qt Creator 4.8.0
mingw 7.3.0 64 Bit
IBPP 2.5.3.1
Hier mal ein Auszug des entsprechenden Codes:
Code: Alles auswählen
[...]
const std::string UserName = "SYSDBA";
const std::string Password = "masterkey";
const std::string Database = "/srv/firebird/db.fdb";
const std::string Host = "10.1.1.100";
IBPP::Database db;
try
{
db = IBPP::DatabaseFactory(Host, Database, UserName, Password, "", "", "");
db->Connect();
qDebug() << "Nicht verbunden";
if(db->Connected()) {
qDebug() << db->DatabaseName();
}
else {
qDebug() << "Nicht verbunden";
}
db->Disconnect();
}
catch (IBPP::Exception& e)
{
qDebug() << "Feher";
}
[...]
In der .pro-Datei habe ich den Parameter
Code: Alles auswählen
CONFIG += exceptions
Code: Alles auswählen
[...]
g++ -c -fno-keep-inline-dllexport -DIBPP_WINDOWS -O2 -std=gnu++11 -fexceptions -mthreads -Wall -W -Wextra -DUNICODE -D_UNICODE -DWIN32 -DMINGW_HAS_SECURE_API=1 -DIBPP_GCC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I..\..\FBGUI -I. -I..\..\SynToolkit -I..\..\SynDB -I..\..\ibpp\core -IC:\Qt\5.12.0\mingw73_64\include -IC:\Qt\5.12.0\mingw73_64\include\QtWidgets -IC:\Qt\5.12.0\mingw73_64\include\QtGui -IC:\Qt\5.12.0\mingw73_64\include\QtANGLE -IC:\Qt\5.12.0\mingw73_64\include\QtCore -Irelease -I. -I\include -IC:\Qt\5.12.0\mingw73_64\mkspecs\win32-g++ -o release\main.o ..\..\FBGUI\main.cpp
[...]
Dank und Gruß
Martin