• Das kreative Thema des Monats Oktober wird vor allem diejenigen unter Euch besonders ansprechen, denen Do-it-yourself quasi im Blut liegt. Zeigt uns Eure Improvisationskünste oder fotografiert, was andere Leute sich so im Alltag zusammengestrickt haben. --> Zum Mitmachen bitte hier klicken

Kurze Starthilfe zu XCode gesucht

bw1faeh0

Uelzener Rambour
Registriert
06.01.08
Beiträge
370
Hallo Leute,

ich benötige mal kurz Hilfe zum Thema 'Programmieren mit XCode':

Ich habe mir ein Projekt für eine einfache Konsolenanwendung erstellt, meinen Code geschrieben und erfolgreich kompiliert sowie gelinkt.
Nun kann ich ja über den 'Build&Go'-Button die Anwendung starten. Wenn ich nun jedoch mit dem Terminal in das Verzeichnis navigiere, in dem die ausführbare Datei liegt, kann ich sie nicht einfach so starten, sondern muss ein './' davor setzen:

Code:
iMac:Debug Karotte$ ls -l
total 1240
-rwxr-xr-x  1 Karotte  staff  631644 12 Feb 19:36 sqlite_test
iMac:Debug Karotte$ sqlite_test
-bash: sqlite_test: command not found
iMac:Debug Karotte$ ./sqlite_test
Usage: ./sqlite_test DATABASE SQL-STATEMENT
iMac:Debug Karotte$

Kann mir jemand erklären, warum dies so ist, und was ich dagegen tun kann?

Danke schonmal!
 
Dagegen tun kannst Du gar nichts. Die Ursache für das Verhalten liegt in den Unix-Wurzeln von Mac OS X begründet. Wenn ich mich recht erinnere, ist das ein Sicherheitsfeature.
Stell' Dir vor, jemand schreibt irgendwelchen Schadcode, der dann unter dem Namen eines Systemkommandos (z.B. "ls") abgespeichert wird. Wenn nun jemand sich in diesem Verzeichnis befindet und "ls" eingibt, würde ohne dieses Feature sofort die schädliche Anwendung ausgeführt werden. Um das zu unterbinden, muss man durch das Voransetzen von "./" explizit klar machen, dass man das "ls" aus dem aktuellen Verzeichnis aufrufen möchte und nicht jenes aus /usr/bin.

HTH,

Macropolis
 
Mhh... klingt erstmal plausibel.
Na gut, muss ich mich damit abfinden. Im Endeffekt soll es eh eine Win32-Anwendung werden, und da kommt am Ende eine Exe bei raus.

Danke!
 
Mhh... klingt erstmal plausibel.
Na gut, muss ich mich damit abfinden. Im Endeffekt soll es eh eine Win32-Anwendung werden, und da kommt am Ende eine Exe bei raus.

Dann sollte Dir aber klar sein, dass Du die exe nicht ohne weiteres auf OS X bauen kannst.

Alex
 
Ohne QT, WxWidgets, GTK und andere Frameworks, sogar gar nicht.
 
Dann sollte Dir aber klar sein, dass Du die exe nicht ohne weiteres auf OS X bauen kannst.


Ohne QT, WxWidgets, GTK und andere Frameworks, sogar gar nicht.


Natürlich ist mir das klar, dass ich keine Exe linken kann. Ich wollte den Quellcode so universell halten, dass er unter Unix wie unter Windows zu kompilieren ist. Jedoch habe ich gemerkt, dass es keine Funktionen zum Einlesen einer Taste und zum auslesen eines Verzeichnisses gibt, die betriebssystemunabhängig sind. So musste ich notgedrungen die virtuelle Maschine bemühen...
 
ncurses gibt es doch bestimmt auch für Windows

Alex
 
Du kannst über defines Compilerweichen bauen. Und dann für beide Betriebssystem mit gcc bauen.
 
ja, man könnte Compiler-Weichen nutzen, aber das wäre in meinen Augen dann auch zu umständlich... man müsste ganze Funktionen in diese Compilerweichen einbauen... Habe mich jetzt für das Visual Studio entschieden
 
Nur die Sache, für die du das System benötigst müssen Weichen haben. Alles was du selber an Funktionalität machst ist universal. Aber ja nachdem was du anstellen willst, ist es wirklich einfacher nur für ein Platform zu entwickeln.