Auf MacOS für Linux entwickeln

J

juriglx

Neues Mitglied
Thread Starter
Dabei seit
11.11.2008
Beiträge
19
Reaktionspunkte
0
Hi

habe mir erst neulich mein erstes MacBook (Intel/Leo) gekauft, davor hatte ich ein Ubuntu mit dem ich auch (für Linux) Software mit C/C++ entwickelt habe.

Ich möchte jetzt meine Linuxprojekte weiterpflegen und frage mich wie ich das am geschicktesten mache. Wie würdet Ihr das machen?
Wenn ich mit XCode/GCC arbeite, wie komme ich dann an Bibliotheken (Boost o.ä)?
Oder doch gleich mit Parallels oder VirtualBox ein Linux aufsetzen?

Grüße
Juri
 
Mit VMware/Parallels/VirtualBox ein Linux aufsetzen und dort weiterentwickeln ist sicherlich am unkompliziertesten.

Ob Xcode entsprechende Bibliotheken mitbringt, kann ich dir nicht sagen.
 
Zudem brauchst du spätestens für die Ausführung der Binaries ein Linuxsystem.
- Ok, es ginge auch mit Macports, aber ich hätte es seltsames Gefühl im Bauch binaries rauszugeben, die nicht wenigstens einmal in einer Originalumgebung gelaufen sind.
Ich halte es generell nicht für verkehrt auf dem OS zu entwickeln, für das man entwickelt.
 
Die Libraries musst Du Dir dann für OS X besorgen. Aber das schöne ist ja, Du bekommst dann 1A Platformübergreifenden Code

Alex
 
Entwickeln kannst du wie vorher auch. make, gcc, etc. sind alles in den Entwicklertools dabei.

Libraries, aber auch neuere Versionen von gcc, installierst du (wie unter Linux) am einfachsten mit einem Paket-Manager. Ich benutze MacPorts. Du musst allerdings beachten, dass die Libraries hier i.d.R. noch nicht im Suchpfad sind, sondern in /opt/local/. D.h. du musst LIBRARY_PATH und CPATH setzen, bzw. entsprechende Parameter an gcc übergeben.

Im wesentlich läuft dann aber alles identisch, ein paar Pferdefüße ausgenommen. (Ich hab mal eine unix Semaphoren-Funktion genutzt, die zwar dokumentiert war und kompilierte, zur Laufzeit dann fehlschlug, weil sie schlicht nicht implementiert war. Sowas ist aber die Ausnahme.)

In einer virtuellen Maschine entwickeln macht hingegen nicht sonderlich viel Spaß. Man muss ständig umdenken und quasi zwei Maschinen pflegen. Zum Testen ist es aber natürlich prima.

Binaries sind zu 0% kompatibel. Linux nutzt ELF, OSX kennt nur Mach-O. MacPorts hat auch Pakete für cross-compilation (z.B. "cross/i386-elf-gcc"), die hab ich aber noch nie benutzt.
 
Welche Bibliotheken brauchst Du denn ?
Da Xcode den gcc mitbringt, reicht es, Dir boost auf dem Mac zu installieren.

Compilers Tested
Boost's primary test compilers are:

GCC 4.01 on Mac OS X 10.4.10 with both Intel and Power PC
GCC 4.2.4 on Ubuntu Linux 8.10
GCC 4.3.2 on Debian Sid
GCC 4.2.1 on HP-UX Integrity
HP C/aC++ B3910B A.06.17 on HP-UX 64-bit
Visual C++ 9.0 SP1, 8.0, and 7.1 SP1, all on Windows XP

Wenn Du KDE, GLX (Nick?) oder GTK-Anwendungen programmierst, ist evtl. die virtuelle Maschine die bessere Wahl (wobei OpenGL über glut 1A auf dem Mac funktioniert).

Versuche doch einfach mal, ein eigenes Projekt unter Xcode zu kompilieren, dann wirst Du ja merken, wie aufwändig es ist. Die Chance, wirklich plattformunabhängig zu programmieren ist natürlich fein.

Gruß, SMJ
 
Zurück
Oben Unten