2012-05-14 11 views
11

Non riesco a sopportare XCode, ma amo davvero OpenFrameworks, e so che funziona su Linux + Win32 quindi non vedo perché lo debba essere dipendente da XCode. Se ho bisogno di avere XCode installato va bene, non voglio proprio usarlo affatto.Posso usare OpenFrameworks su OS X senza dover utilizzare XCode?

+0

Voglio sapere anche questo. Ho appena messo una taglia su di esso ... istruzioni dettagliate apprezzate. – daj

risposta

11

Xcode utilizza internamente gcc/llvm. infatti dalla riga di comando è possibile effettuare il cd in una directory che contiene un progetto openFrameworks e digitare semplicemente xcodebuild. ma questo non ti permetterà di modificare il file di progetto e aggiungere un nuovo codice sorgente, ecc.

i makefile di Linux potrebbero essere adattati per funzionare anche su OSX. contengono già molte delle informazioni necessarie per trovare i file sorgente, i percorsi della libreria corretti ecc. Tuttavia Linux ci permette di installare molti più componenti come librerie di sistema condivise, mentre su OSX colleghiamo la maggior parte delle librerie in modo statico, quindi un numero di extra i percorsi di libreria dovrebbero essere aggiunti. probabilmente il più grande trucchetto è che tutto deve essere compilato a 32 bit, il che significa passare -arch i386 ovunque, quindi non è possibile installare libs dipendenti usando Homebrew o MacPorts. siamo in procinto di passare a 64 bit, ma ci sono ancora alcune chiamate QuickTime che ci richiedono di rimanere con 32 bit, principalmente per accedere ai dispositivi di acquisizione video legacy che molti di noi usano ancora per la visione artificiale.

come @cdelacroix indica che vengono mantenuti solo i file di progetto Xcode su OSX. questo è principalmente dovuto alla mancanza di un'alternativa decente. c'è una versione di Code :: Blocks per OSX, ma non è molto ben supportata, ha alcuni problemi con il rendering nativo di GUI e tende a rimanere indietro rispetto alle altre piattaforme. Xcode è anche il modo più semplice per installare una toolchain su OSX, quindi per la maggior parte degli utenti è necessario installare Xcode.

se si ottiene un sistema di compilazione basato sul makefile funzionante, e sarebbe interessato a mantenerlo a medio-lungo termine, si prega di prendere in considerazione di contribuire al repository GitHub, sarebbe accettato volentieri.

+0

Grazie per le informazioni. Io uso emacs per tutto, quindi preferirei non essere legato a un IDE nelle versioni osx o linux. Sono più a mio agio con la toolchain di gnu che con xcode, quindi personalmente preferirei non dover cambiare ambiente di sviluppo solo per usare OF. Chiaramente non dovrebbe essere così difficile, vorrei solo che ci fosse più documentazione sul lavoro al di fuori degli IDE. – daj

+0

I makefile di Linux sono in realtà molto intelligenti, usano chiamate di shell per trovare i file arc, le librerie e i percorsi di ricerca dell'intestazione. openFrameworks è un sistema complesso, specialmente con il concetto di addon, c'è un file addons.make che viene analizzato su linux per trovare i componenti aggiuntivi, ma questo non è usato su OSX. Non sei sicuro di quali altre informazioni hai bisogno. OF è progettato per essere facile per i programmatori principianti e tutti i core team utilizzano gli IDE, ma come ho detto i contributi sono sempre ben accetti. – damian

2

È necessario Xcode, o almeno un set di compilatori (ulteriori informazioni sono disponibili here), ma in caso contrario, no, è possibile modificare/lavorare con il codice in qualsiasi editor o ambiente desiderato.

1

Come ha detto @mipadi, non è necessario utilizzare Xcode, è possibile eseguire praticamente tutto ciò che si fa in Xcode con make o cake o con qualsiasi altro sistema di scelta. Tutto quello che devi fare è trovare il giusto set di opzioni da riga di comando per passare ai soliti strumenti (compilatore, linker, strip, ecc.) Ea volte il modo più semplice è ... guardare nella finestra di build di Xcode come è fare cose (espandere le linee con il piccolo pulsante sulla destra di ogni riga).

Ad esempio, è possibile collegare il framework scelto con ld -framework Framework -FPathToFramework foo.o o la libreria dinamica con ld -lLib -LPathToDylib foo.o. Potrebbe essere necessario conoscere @rpath, @loader_path e install_name_tool per spedire un'applicazione pacchettizzata autonoma.

Come per OpenFrameworks, il "requisito" per Xcode è che gli autori hanno deciso di mantenere solo i file di progetto Xcode. Ho appena visto come lo fanno, spediscono codice sorgente e file di progetto Xcode che costruiscono librerie statiche, quindi sarà ancora più semplice per te (anche se dovrai collegare le dipendenze della libreria a mano). Dovrai scegliere tra compilare tutto dal sorgente nel tuo sistema di compilazione (se vuoi più potenza di personalizzazione senza toccare Xcode), o semplicemente produrre le 2 librerie statiche (openFrameworks.a e openFrameworksDebug.a) con Xcode una volta, quindi usarle in il tuo sistema di build (consigliato fino a quando non hai davvero bisogno di personalizzazione continua).

2

Ecco un link ad un makefile che compilare un'applicazione OpenFrameworks su OSX:

https://gist.github.com/labe-me/1190981

Posizionare il makefile nella directory le applicazioni ed eseguire fare. Testato su OsX 10.6, ma non ho ancora provato con addon.

5

As of March 2013, openFrameworks ha il supporto del makefile ufficiale per la compilazione della libreria stessa. Tuttavia, al momento della stesura di questo documento, le modifiche non sono state ancora unite nella versione stabile. Dovrai clonare lo Git repository e passare al ramo di sviluppo.

git clone https://github.com/openframeworks/openFrameworks 
cd openFrameworks && git checkout develop 
cd libs/openFrameworksCompiled/project 
make 

Per quanto posso dire, abbiamo ancora bisogno di utilizzare le soluzioni non ufficiali per la compilazione di applicazioni contro la libreria.

+0

Correzione minore: si desidera verificare "sviluppo" e non "sviluppo". Grazie mille per questo! –