QString: No such file or directory (aber nur eine Klasse)

Du bist neu in der Welt von C++? Dann schau hier herein!
Antworten
rafael9707s
Beiträge: 22
Registriert: 15. Juni 2012 14:27
Wohnort: Berlin
Kontaktdaten:

QString: No such file or directory (aber nur eine Klasse)

Beitrag 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?
Arbeite an einen Messagingnetzwerk Keppe Messenger
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: QString: No such file or directory (aber nur eine Klasse

Beitrag von Christian81 »

Wo genau ist das Problem? Minimales Beispiel bitte...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
rafael9707s
Beiträge: 22
Registriert: 15. Juni 2012 14:27
Wohnort: Berlin
Kontaktdaten:

Re: QString: No such file or directory (aber nur eine Klasse

Beitrag 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..
Arbeite an einen Messagingnetzwerk Keppe Messenger
Mr.Crank
Beiträge: 38
Registriert: 16. April 2013 15:21

Re: QString: No such file or directory (aber nur eine Klasse

Beitrag 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
rafael9707s
Beiträge: 22
Registriert: 15. Juni 2012 14:27
Wohnort: Berlin
Kontaktdaten:

Re: QString: No such file or directory (aber nur eine Klasse

Beitrag 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
Arbeite an einen Messagingnetzwerk Keppe Messenger
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: QString: No such file or directory (aber nur eine Klasse

Beitrag 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...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
rafael9707s
Beiträge: 22
Registriert: 15. Juni 2012 14:27
Wohnort: Berlin
Kontaktdaten:

Re: QString: No such file or directory (aber nur eine Klasse

Beitrag 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...
Arbeite an einen Messagingnetzwerk Keppe Messenger
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: QString: No such file or directory (aber nur eine Klasse

Beitrag 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...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
rafael9707s
Beiträge: 22
Registriert: 15. Juni 2012 14:27
Wohnort: Berlin
Kontaktdaten:

Re: QString: No such file or directory (Sprachklassen)

Beitrag 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...
Arbeite an einen Messagingnetzwerk Keppe Messenger
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: QString: No such file or directory (aber nur eine Klasse

Beitrag 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()
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten