Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

09.04.2012, 11:18

QT & ubuntu

Hi,

merkwürdiges Problem. Habe eine relativ einfache QT-Anwendung erstellt in dieser Form:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
int main(int argc, char *argv[]) {   
    QApplication app(argc, argv);
    QMyWindow *window = new QMyWindow(NULL);
    QObject::connect(window , SIGNAL(signalQuitApp()), &app, SLOT(quit()));
    app.setWindowIcon(QIcon(QString("icon.png")));
    window->init();
    window->show();
    return app.exec();
}


also nicht allzu weit von Hello World entfernt. Das ganze kompiliert per make auch ganz normal und ich erhalte dann eine Datei mit dem Verzeichnisnamen aber ohne Endung, die ich aber nicht starten kann. Wenn ich es über die GUI probiere, ist kein passendes Programm damit verknüpft. Per <name> oder ./<name> über die shell 'command not found'. Komischerweise kann ich aber die QT-Examples, die beim build mitkompiliert werden ganz normal ausführen. Hat jemand eine Idee, was das Problem ist? Bin noch nicht sehr erfahren im Umgang mit Linux.

Legend

Alter Hase

Beiträge: 731

Beruf: Softwareentwickler

  • Private Nachricht senden

2

09.04.2012, 12:00

Linux entscheidet nicht per Dateiendung, ob eine Datei ausführbar ist. Stattdessen gibt es ein Attribut, dass an der Datei gesetzt ist. Du kannst mal "chmod a+x <dateiname>" ausprobieren, das setzt dieses Attribut.
"Wir müssen uns auf unsere Kernkompetenzen konzentrieren!" - "Juhu, wir machen eine Farm auf!"

Netzwerkbibliothek von mir, C#, LGPL: https://sourceforge.net/projects/statetransmitt/

3

09.04.2012, 15:45

Raff ich nicht...

Wenn ich

Quellcode

1
chmod a+x texture


eingebe, passiert rein gar nichts. Wenn ich abfrage, übernimmt er es einfach nicht:

Quellcode

1
2
ls -l texture
-rw------- 1 <username> <username> 49858 2012-03-29 20:37 texture


Wenn ich mir in Nautilus den Eigenschaftsdialog mit den Zugriffsrechten anschaue, gibt es da ein Feld "Datei als Programm ausführen", dass ich aber auch mit Rootrechten nicht auswählen kann, weil der Haken direkt wieder rausgenommen wird. Es scheint als wäre das von dir beschrieben Attribut nicht gesetzt, aber das macht man doch auch nicht mit chmod a+x oder? Das setzt doch dann nur die Rechte aber nicht dieses Attribut? In den QT-Examples ist das jedenfalls gesetzt.

Es handelt sich dabei, um ein einfaches Übungsprojekt von ner Uni. Würde den Link ja mal posten, aber die Page ist gerade down. Jedenfalls musste man sich nur mit qmake das passende makefile erzeugen und das dann noch durchlaufen lassen, falls das irgendwie hilft.

Legend

Alter Hase

Beiträge: 731

Beruf: Softwareentwickler

  • Private Nachricht senden

4

09.04.2012, 18:20

Das gar nichts passiert ist nicht ungewöhnlich. Viele Kommandozeilenbefehle geben überhaupt nichts aus, wenn alles (scheinbar) glatt läuft.
Und auf der Kommandozeile benutzt man chmod um zu bestimmen, wer was ausführen darf. Du kannst mit diesem Befehl auch einstellen, wer lesen und schreiben darf. Aber natürlich kann man auch ne GUI benutzen.

Aber das was du beschreibst klingt sehr merkwürdig. Wem gehört die Datei denn auf dem Dateisystem?
"Wir müssen uns auf unsere Kernkompetenzen konzentrieren!" - "Juhu, wir machen eine Farm auf!"

Netzwerkbibliothek von mir, C#, LGPL: https://sourceforge.net/projects/statetransmitt/

5

09.04.2012, 18:33

Aber das was du beschreibst klingt sehr merkwürdig. Wem gehört die Datei denn auf dem Dateisystem?
Wenn ich das chmod manual richtig verstanden habe, dem Benutzer, der als erstes hinter den rwx-Kürzeln steht, also mir (ist ein Einbenutzersystem).

Es scheint wie gesagt so zu sein, als ob diese Datei nicht als ausführbar erkannt wird, weshalb man auch kein x per chmod vergeben kann.

ArthurII

Treue Seele

Beiträge: 132

Wohnort: Aachen

Beruf: Student

  • Private Nachricht senden

6

09.04.2012, 18:48

wie sieht denn deine .pro datei aus??
Da können manchmal auch sehr wichtige dinge passieren
Ich bin nicht verrückt - nur verhaltensoriginell!
Project-Seite: Aura

Tobiking

1x Rätselkönig

  • Private Nachricht senden

7

09.04.2012, 18:49

Wo liegt denn die Datei? Das einzige was mir einfällt bei nicht setzbaren Attributen ist keine schreibrechte oder ein Dateisystem das diese nicht unterstützt (z.B. Windows Partition unter Linux).

Sylence

Community-Fossil

Beiträge: 1 663

Beruf: Softwareentwickler

  • Private Nachricht senden

8

09.04.2012, 18:52

Es scheint wie gesagt so zu sein, als ob diese Datei nicht als ausführbar erkannt wird, weshalb man auch kein x per chmod vergeben kann.


"Nicht als ausführbar erkannt werden" gibt es unter Linux nicht. Wenn das x-Flag gesetzt ist, dann ist die Datei ausführbar. Ob das jetzt eine Textdatei oder ein richtiges Programm ist spielt dabei keine Rolle ;)

Aber guck mal nach, ob du überhaupt über die entsprechenden Rechte in dem Ordner, in dem sich die Datei befindet, verfügst.

Legend

Alter Hase

Beiträge: 731

Beruf: Softwareentwickler

  • Private Nachricht senden

9

09.04.2012, 19:30

Du kannst auch bei jeder Textdatei +x setzen, und deine aktuelle Shell (meistens die bash), wird versuchen sie zu interpretieren, wenn du sie ausführst. ;)
"Wir müssen uns auf unsere Kernkompetenzen konzentrieren!" - "Juhu, wir machen eine Farm auf!"

Netzwerkbibliothek von mir, C#, LGPL: https://sourceforge.net/projects/statetransmitt/

LusH

Frischling

Beiträge: 13

Wohnort: /home/tim

Beruf: Schüler

  • Private Nachricht senden

10

10.04.2012, 11:57

Angenommen die Datei liegt in /home/name/Projects/ und heißt "Test", dann setzt du die Rechte zum ausführen mit:

Quellcode

1
sudo chmod u+x /home/name/Projects/Test


Dann kannst du die Datei mit

Quellcode

1
cd ~/Projects/


Quellcode

1
./Test


ausführen.
W§ssten S#e, dass Tastat§tre#ber völl#g ?berflßssig s#ind ?
- Unbekannter Verfasser

Werbeanzeige