2009-08-06 13 views
7

So come usare g ++ e tutto ciò per compilare programmi C++. La mia domanda è, se ho un codice che dipende da varie librerie, come posso compilarlo in un semplice eseguibile che posso inviare a chiunque. Per questo sarei felice di averlo semplicemente su os x.compilare C++ in programmi "reali"

Mi piacerebbe sapere come compilare un programma "reale" non solo un eseguibile che posso eseguire localmente. Ho provato a cercare su Google questo, ma non ho trovato molto.

Devo utilizzare il software di installazione? So che in Windows è possibile creare alcuni semplici file .exe che usano file DLL comuni.

+0

Non so perché qualcuno ha votato a bassa voce questa domanda. Ho svalutato comunque. Sembra una domanda molto valida. – Aamir

+5

I tag "os" e "x" non si uniscono a "osx" magicamente. Proprio come "The" "Rapist" non magicamente si uniscono per diventare terapeuti. – Thomas

+0

+1 Celebrity Jeopardy! –

risposta

8

Si cerca "collegamento statico". Ciò importerà tutto il codice necessario dalle librerie nel tuo eseguibile. Nota che l'eseguibile diventerà più grande. Se si utilizzano librerie standard, dovrebbero essere presenti nell'installazione del sistema operativo standard.

Dovresti provare il flag "-static" di g ++. L'esecuzione di "ldd your_executable_name" dovrebbe visualizzare tutte le librerie utilizzate dal tuo eseguibile (collegate dinamicamente).

+2

su os x ldd = otool -L eseguibile, se a qualcuno importa – Ori

0

È possibile utilizzare l'opzione -s -static o per il collegamento statico in gcc o g ++

3

Dal momento che si sta parlando di Mac OS X, probabilmente avrete bisogno di fare un pacco. Qt Software ha un utile deployment guide per iniziare con questo tipo di attività.

Problemi correlati