Deploy Qt5.2 plus MYSQL Win7 [SOLVED]
-
Hab jetzt das komplette Qt neu Installiert und es ist immer noch der Fehler da :-(
Weis einer einen rat?
"hier das Projekt":https://www.dropbox.com/s/dm86239at8hwj5o/Biodate.rar
-
Also habe folgendes Testobjekt erstellt und ausprobiert:
@public:
QSqlDatabase db1;
bool dbOpen()
{
db1=QSqlDatabase::addDatabase("QMYSQL");
db1.setDatabaseName("baur_test_dbo");
db1.setHostName("10.211.55.6");
db1.setPort(3306);
db1.setUserName("test");
db1.setPassword("server");
if(!db1.open())
return false;
else
return true;
}
void dbClose()
{
db1.close();
}@Mit Folgendem Button und TableView
@ MainWindow main;
if(!main.dbOpen())
QMessageBox::critical(this,"ERROR","Datenbank nicht offen");
else
{
QSqlQuery *qry = new QSqlQuery(main.db1);
QSqlQueryModel * model = new QSqlQueryModel();
qry->prepare("SELECT * FROM einkauf");
if(qry->exec())
{
model->setQuery(*qry);
ui->tableView->setModel(model);} else QMessageBox::critical(this,"ERROR",qry->lastError().text()); }@
Das Programm läuft ohne Fehler und die Datenbank wird auch geöffnet und darf die Table sehen.
-
und was ist jetzt mit deinem biodate-projekt?
Bekommst du noch Fehlermeldungen oder läuft das jetzt auch?
Die zuletzt gepostete Meldung bezieht sich ja wahrscheinlich auf das Öffnen der Datenbank und - soweit ich das sehe - ist das identisch mit dem Testprogramm. -
Ich kann das Projekt nur starten, wenn ich in mainwindow.cpp die Zeile "MainWindow main" auskommentiere. Mit der Zeile stürzt das Programm sofort ab mit "RTTI symbol not found..."
@
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
// auskommentiert: MainWindow main;
ui->setupUi(this);
ui->menuBar->hide();}
@Ich kann aber nur bis zum mainwindow.ui testen, weil ich die Datenbank nicht habe - bzw. aktuell auch ausschließlich mit PostgreSQL arbeite. Es erscheint aber die Fehlermeldung: "Fehler beim öffnen der Datenbank" und das ist ja die erwartete Reaktion.
-
-
So, habe jetzt mal alle dll die er sagt in das gleiche Verzeichnis getan. Beim starten kommt folgende fehlermeldung:
@The procedure entry point _Z8qWinMainP11HINSTANCE_S0_PciRiR7QVectorIS1_E could not be located in the dynamic link library Qt5Core.dll.@
Weis das jemand zufällig?
-
Zu "located in the dynamic link library Qt5Core.dll" gibt es Menge Einträge im Qt Forum u.a. - wenn ich das richtig sehe, bezieht es sich immer auf das Verteilen der App.exe auf andere Rechner.
Ich würde jetzt wie folgt vorgehen:
- Die Einträge zum Fehler überfliegen - vielleicht findest du den entscheidenden Hinweis.
- Die einfache Hello World auf einem Client installieren
3.1. Wenn die nicht läuft, Meldungen posten.
3.2. Zum Testen Qt auf einem Client installieren.
3.3. Hello World testen
-
Habe jetzt ein Hello World gemacht und dies auf den anderen Rechner gestartet. Nachdem ich alle fehlenden dll´s hinein kopiert habe bekomme ich folgende fehler Meldung
@This application failed to start because it could not find or load the Qt platform plugin "windows".
Reinstalling the application may fix this problem.@
-
Okay den Fehler konnte ich beseitigen indem ich im Ordner meiner exe Datei einen Ordner erstelle "platforms" in der ich die qwindows.dll kopiert habe. Nun läuft das Hello World auf einen anderen Rechner ohne Qt installation. Rechner ist mit i3 16GB RAM und Win7 64bit