nachdem ich ein wenig Übung mit Qt4 habe, begann ich ein neues Projekt - ganz nach dem Muster eines vorhergehenden, welches ich gut hingekriegt hatte.
Ich möchte wieder mal ein C-Programm, das auf der Kommandozeile funktioniert, mit einer Qt4-GUI umgeben.
Die GUI, MainWin_GUI, habe ich mit dem Designer erstellt. Mit qmake entsteht daraus eine automatisch erzeugte Datei, ui_MainWin_GUI.h, die in meinem h-File includiert wird. Die Klasse dazu heisst MilFKM. Ich fange gerade erst an, aber sofort hänge ich an einigen rätselhaften Fehlermeldungen.
Dazu mein mainWindow.h-File (noch recht leer):
Code: Alles auswählen
#include "ui_MainWin_GUI.h" // enthält u.a. QMainWindow
class MilFKM : public QMainWindow, private Ui::MainWin_GUI
{
Q_OBJECT
public:
MilFKM(QMainWindow *parent=0);
}
Code: Alles auswählen
#include <QtGui>
#include "mainWindow.h"
extern "C" { <------------- hier wird 1 Fehler gemeldet
#include "get_fk_position.h"
}
MilFKM::MilFKM(QMainWindow *parent) : QMainWindow(parent)
{ /* Constructor */
setupUi(this);
}
Code: Alles auswählen
#include <QApplication>
#include "mainWindow.h"
int main(int argc, char *argv[]) <---- hierzu gibt es 4 Fehlermeldungen
{
QApplication app(argc, argv);
MilFKM guiWin;
guiWin.show();
return app.exec();
}
1. In mainAppl.cpp (alle 4 Fehler an der markierten Zeile):
error: new types may not be defined in a return type
error: two or more data types in declaration of 'main'
error: '::main' must return 'int'
note: (perhaps a semicolon is missing after the definition of ‘MilFKM’) mainAppl.cpp
Ich fürchte, ich habe Scheuklappen auf, aber was ist am Code denn falsch? (ich habe ihn aus dem funktionierenden, vorhergehenden Qt4-Programm kopiert und nur die Namen entsprechend modifiziert - dort hatte es geklappt)
2. In mainWindow.cpp:
error: expected unqualified-id before string constant mainWindow.cpp
Ich habe so das Gefühl, dass der Fehler in mainWindow.cpp die eigentliche Ursache ist und die anderen Fehler nur Folgeeffekte darstellen.
Bei meinem ersten Versuch, eine GUI für ein C-Programm zu schreiben, hatte ich zunächst auch Probleme, mit der extern "C" Anweisung. Irgendwann, ich weiss nicht warum, ging es dann. Dieses "irgendwann" fehlt hier noch
Über Tipps würde sich ein völlig frustrierter Programmierer sehr freuen.