Command-line Objective-C+Cocoa op een Linux server
JesseSar op 20 april 2010 #
Hallo,
Is het mogelijk om een in Xcode gemaakte command-line utility, met Cocoa en Foundation, te compilen voor gebruik op een Linux server?
Ik wil dus het shell-bestand dat Xcode maakt kunnen draaien op Linux. Dit werkt nu nog niet, ik heb het bestand op de server gezet, uitvoerbaar gemaakt met 'chmod +x bestand', maar ik blijf de melding 'Cannot execute binary file' krijgen.
Jesse
Pieterr op 20 april 2010 #
Alleen een bestand executeerbaar maken zal niet voldoende zijn.
Je zult toch in ieder geval (zoals je zelf al zegt) de code opnieuw moeten compileren voor de target hardware en OS.
Er staan wat tips om dit voor Windows te doen in dit artikel. De aanpak is waarschijnlijk ook (ten dele) te gebruiken voor Linux.
dj bazzie wazzie op 21 april 2010 #
Dit gaat je niet lukken helaas. Het zou wel kunnnen wanneer je net zoiets als mono(C# voor mac) zou gaan maken voor linux maar ga je denk ik niet doen.
Het is wel zo dat een processor met een x86_64 instructieset wel alle code kan uitvoeren. Omdat wanneer je eenmaal in C, C++ of wat voor taal dan ook, alles wordt uiteindelijk vertaald naar je machine code (compiler of interpreter). Maar je systeem (kernel) heeft helaas ook nog bepaalde eisen aan je uitvoerbare bestanden en die zorgen ervoor dat je bestand niet in het geheugen van je computer geladen wordt en jou een melding geeft.
Meest gebruikelijke oplossing om een command line utility te maken voor Mac (Darwin) en andere Unix en Linux systemen die aan de POSIX voldoen is gewoon een command line utility schrijven in Xcode en vervolgens je code hercompileren op een andere machine. Dit kost het minste tijd qua debuggen en is zeer gebruikelijk.
tinus_omt op 21 april 2010 #
Het GNUstep project biedt een omgeving waarin je op Linux je programma zou kunnen compileren en draaien. Ik weet niet hoe goed de compatibiliteit is, maar in die richting zou je het moeten zoeken.
Linux kan niet zomaar programma's draaien die voor een ander operating systeem gecompileerd zijn, net zoals Mac OS X geen Linux programma's kan draaien. Je zult in ieder geval opnieuw moeten compileren.
Advertentie
Je kunt alleen reageren met een gratis OMT account.
Log in of registreer.
Inloggen
Over dit topic
Gestart op 20 april 2010 door JesseSar
Laatste reactie door tinus_omt
Reageer op dit topic