Seite 1 von 1
QString: No such file or directory (aber nur eine Klasse)
Verfasst: 11. Oktober 2013 23:09
von rafael9707s
Code: Alles auswählen
#ifndef KLANG_H
#define KLANG_H
#include <QString>
class KLang
{
public:
KLang();
//ausgeblendet
};
#endif // KLANG_H
Code: Alles auswählen
QString: No such file or directory
#include <QString>
^
Wie behebe ich den am besten weil eigentlich existiert doch QString bei allen anderen..?
Kann es an der Header File liegen, wenn ja was?
Re: QString: No such file or directory (aber nur eine Klasse
Verfasst: 11. Oktober 2013 23:52
von Christian81
Wo genau ist das Problem? Minimales Beispiel bitte...
Re: QString: No such file or directory (aber nur eine Klasse
Verfasst: 12. Oktober 2013 00:26
von rafael9707s
Code: Alles auswählen
#ifndef KLANG_H
#define KLANG_H
#include <QString>
class KLang
{
public:
KLang();
QString f1(QString user);
QString f2(QString user, QString state);
QString f3(QString user);
QString s1 = "String 1";
QString s2 = "String 2";
//halt in der Art
};
#endif // KLANG_H;
Code: Alles auswählen
#include "KLang.h"
KLang::KLang()
{
}
QString KLang::f1(QString user)
{
return "function 1 " + user;
}
//weiter gehts so ähnlich
also so in der Art alles, ne Klasse halt mit String ausgaben usw..
Re: QString: No such file or directory (aber nur eine Klasse
Verfasst: 14. Oktober 2013 07:28
von Mr.Crank
Tach Rafael,
eigentlich sollte es keine Probleme bei der Einbindung geben, wenn du überall fleißig
die Header einbindest bevor du ein QString verwendest

Sonst evtl. mal Projekteinstellungen
überprüfen.
Aber mal was ganz anderes wofür so viele Strings im Public ? Da bluten erstmal die
objektorientierten Augen

Mein alter Prof sagte immer public = global = muss extrem
wichtige Gründe haben
Gruß Mr.Crank
Re: QString: No such file or directory (aber nur eine Klasse
Verfasst: 15. Oktober 2013 21:51
von rafael9707s
Also ich wollte Language Packs machen was den alles auf dieser Klasse basiert.. (Tipps dazu kann man mir auch sagen, dann kann ich das komplett anders aufbauen)
Projekteinstellungen sind ok, Makefiles sind gereinigt und manuell auch schon gelöscht wurden und klappt irgendwie ned..
Also ich verstehe das selber irgendwie nicht
Re: QString: No such file or directory (aber nur eine Klasse
Verfasst: 16. Oktober 2013 20:27
von Christian81
Ein minimales Beispiel welches auch wirklich kompilierbar ist so dass man genau sieht was da falsch läuft gibts ja leider noch nicht. Ich schätze da fehlt irgendwo ein Semikolion...
Re: QString: No such file or directory (aber nur eine Klasse
Verfasst: 19. Oktober 2013 11:58
von rafael9707s
Okay, hab die Datei mal aus dem Projekt entfernt und wieder hinzugefügt, jetzt sind andere Fehler zu sehen
Code: Alles auswählen
ISO C++ forbids initialization of member 'online'
making 'online' static
invalid in-class initialization of static data member of non-integral type 'QString'
Code: Alles auswählen
#ifndef KLANG_H
#define KLANG_H
#include <QString>
class KLang
{
public:
KLang();
QString chatWithUser(QString user);
QString chatWithUserState(QString user, QString state);
QString userIsOffline(QString user);
QString online = "Online";
QString away = "Away";
QString busy = "Busy";
QString notjust = "Not just";
QString offline = "Offline";
QString showOffline = "Show offline";
QString logout = "Logout";
QString incomingMessage = "Keppe Messenger - Incoming Message";
QString userIsNotYourFriend(QString user);
QString cannotConnectToKeppeMessengerServer = "Can't connect to Keppe Messenger Server";
QString clientReconnected = "Keppe Messenger - Reconnected";
QString clientLoggedOut = "Keppe Messenger - Logged out";
QString clientDisconnected = "Keppe Messenger - Disconnected";
QString clientHasReloggedInYourAccount = "Keppe Messenger has relogged in your account";
QString youHaveTypeInvalidAccountData = "You have type invalid account data!";
QString accountDataHasBeenExpired = "Your Account data has been expired!";
QString pleaseCheckYourInternetConnection = "Please check your Internet connection!";
QString theMaximumLengthOfTheMessageStateBytes(int bytes);
QString logIntoYourAccount = "Log into your account";
QString pleaseEnterYourUsernameAndThePassword = "Please enter your Username and the password";
QString username = "Username";
QString password = "Password";
QString stayLoggedIn = "Stay logged in";
QString login = "Login";
QString stopKM = "Stop KM";
QString welcomeUser(QString user);
QString yourState = "Your State";
QString onlineStatus = "Online status";
QString openKM = "Open KM";
};
#endif // KLANG_H
Edit: Jetzt die frage, alles in Funktionen versetzen?, weil mit static klappt das ned hab ich schon gerade eben probiert..
Edit: Zweite Versionen ist in Funktionen, geht so lange das die ganz alleine ist, aber wenn die german.h diese nutzt.. gibt's Fehler
Code: Alles auswählen
QString: No such file or directory
'QString' does not name a type
Code: Alles auswählen
#ifndef GERMAN_H
#define GERMAN_H
#include <KLang>
class german : public KLang
{
public:
german();
QString chatWithUser(QString user);
QString chatWithUserState(QString user, QString state);
QString userIsOffline(QString user);
QString online();
QString away();
QString busy();
QString notjust();
QString offline();
QString showOffline();
QString logout();
QString incomingMessage();
QString userIsNotYourFriend(QString user);
QString cannotConnectToKeppeMessengerServer();
QString clientReconnected();
QString clientLoggedOut();
QString clientDisconnected();
QString clientHasReloggedInYourAccount();
QString youHaveTypeInvalidAccountData();
QString accountDataHasBeenExpired();
QString pleaseCheckYourInternetConnection();
QString theMaximumLengthOfTheMessageStateBytes(int bytes);
QString logIntoYourAccount();
QString pleaseEnterYourUsernameAndThePassword();
QString username();
QString password();
QString stayLoggedIn();
QString login();
QString stopKM();
QString welcomeUser(QString user);
QString yourState();
QString onlineStatus();
QString openKM();
};
#endif // GERMAN_H
wenn german.h und german.cpp nicht eingebunden ist, dann klappt es wieder...
Die Sprachen sollen die KLang Klassen ersetzen, also ist z.B bei german hello = "Hallo" dann soll Hallo statt Hello ausgeben werden...
Re: QString: No such file or directory (aber nur eine Klasse
Verfasst: 19. Oktober 2013 20:10
von Christian81
Dann muss in der german.h wohl was falsch sein wie ich schon schrieb - ein fehlendes Semikolon nach der Klasse z.B. oder eine fehlende schließende geschweifte Klammer...
Re: QString: No such file or directory (Sprachklassen)
Verfasst: 20. Oktober 2013 11:59
von rafael9707s
also ich hab das mit public : KLang rausgenommen und wieder neuhinzugefügt jetzt geht es..
das Problem steht jetzt dabei, ich würde gerne alle Sprachen in eine Klasse intregieren...
Zweite Idee wäre von mir: Ich packe alles in eine QMap, es gibt aber eine die halt schon vorerstellt wurde von einer Klasse, wo die Werte aber von einer anderen ersetzt werden... das werde ich mal nachher probieren...
Ich werde es nachher editieren wenn ich probiert habe...
Re: QString: No such file or directory (aber nur eine Klasse
Verfasst: 20. Oktober 2013 12:03
von Christian81
Und bezüglich Übersetzungen - Qt liefert dir da schon alles nötige mit - kein Grund alles nochmal selbst zu erfinden. siehe QObject::tr()