ubuntuusers.de

Code:Blocks-Projekte auf FAT/NTFS-Medium speichern

Status: Ungelöst | Ubuntu-Version: Ubuntu 10.10 (Maverick Meerkat)
Antworten |

viper1209

Anmeldungsdatum:
3. Juli 2007

Beiträge: 23

Hey, ich habe ein Problem mit Code:blocks. Ich habe einen Netbook mit Ubuntu 10.10 und wir Programmieren in der Uni seit diesem Semester c. Da wir in der Uni Computer zur Verfügung haben und dort auch die Programme vorstellen, würde ich meine Projekte gerne auf meinem USB-Stick speichern, das Speichern an sich funktioniert auch, aber das Programm lässt sich von dort nicht ausführen. Weiß jemand wo das Problem liegt? Danke im Vorraus

Ausgabe von Code:Blocks:

sh: /<Pfad>/test/bin/Debug/test: Permission denied
Process returned 126 (0x7E)

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17622

Wohnort: Berlin

Fat/NTFS-Systeme kennen kein execute-Flag und überhaupt diese Unix/Linux-Flags nicht. Also gibt es verschiedene, unbefriedigende Lösungsansätze:

  • alle Dateien auf VFAT sind executable

  • keine Dateien auf VFAT sind executable

  • keine Datei, nur Verzeichnisse sind executable (sonst kann man sie nicht traversieren)

Option 3 hat sich weitgehend etabliert.

Ich nehme an, an der Uni kommt Windows zum Einsatz, und hat keinen Treiber für ext/reiserfs/wasimmer? Dann bleibt wohl nur die Verzeichnisstruktur zu kopieren, und auf der Zielpartition eine Dateierkennung laufen zu lassen (find/file).

Aber halt - wenn Ihr an der Uni C-Programme kompiliert, dann kommt dabei doch eine -exe-Datei raus, und kein elf-Binary? Oder hat die Uni auch Linux? Dann für paar Euro einen Stick kaufen, und ein vernünftiges Dateisystem drauf machen.

viper1209

(Themenstarter)

Anmeldungsdatum:
3. Juli 2007

Beiträge: 23

Was meinst du denn mit den Lösungsansätzen? mit Dateisystemen kenne ich mich nicht so gut aus... Also in der Uni haben wir Win7 und ich bezweifle, dass die ext-Unterstützung installiert ist Welche Verzeichnisstruktur soll ich denn wohin kopieren?

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17622

Wohnort: Berlin

Habt Ihr denn einen Crosscompiler unter Win7, oder wie soll das funktionieren?

aber das Programm lässt sich von dort nicht ausführen.

Das Programm muss ja 2 Kriterien erfüllen, um ausfürhbar zu sein: Es muss das executable-Flag gesetzt sein, und das geht nicht auf einem FAT-Dateisystem, und nicht auf NTFS/HPFS. Aber es muss auch für die Linux-Plattform compiliert sein (elf-Format).

Ein python-Program oder php-Skript oder ruby läuft hüben wie drüben, wenn ein Interpreter vorhanden ist. Selbst für shell-Skripte gibt es binaries für win32, die diese ausführen. Javascript läuft im Browser. Java und Scala-Code wird zu Bytecode kompiliert, der auf allen OSs läuft, die eine Java-Plattform haben. Aber aus C und C++ wird MZ-Code unter Windows, bzw. elf-Code unter Linux gemacht, und jenes läuft nicht hier, und dieses nicht dort - Du kannst nur den C-Code neu kompilieren (wenn Du keine systemspezifischen Header verwendet hast (conio.h, linux.h, ...), die nicht portabel sind).

Mit Verzeichnisstruktur meine ich sowas:

1
2
3
4
5
6
7
8
projekt/
|
+-+--h/sample.h
  |
  +--src/sample.c
  |
  +--bin/sample (linux)
       /sample.exe (win)

Antworten |