7
votes

Compilation C ++ dans des programmes "réels"

Je sais comment utiliser g ++ et tout cela pour compiler des programmes C ++. Ma question est que si j'ai du code qui dépend de diverses bibliothèques, comment puis-je la compiler dans un simple exécutable que je puisse envoyer quelqu'un. Pour cela, je serais heureux de le garder sur OS X.

J'aimerais savoir comment compiler un programme «réel» non seulement un exécutable que je puisse fonctionner localement. J'ai essayé de googler cela mais je n'ai pas beaucoup trouvé.

Dois-je utiliser un logiciel d'installation? Je sais sous Windows, vous pouvez faire des choses simples .exe qui utilisent des fichiers DLL communs.


2 commentaires

Je ne sais pas pourquoi quelqu'un a révélé cette question. Je l'ai renvoyé cependant. Semble une question très valable.


Tags "OS" et "X" ne s'unissent pas sur "OSX" par magie. Tout comme "le" violiste "ne s'unissent pas comme magiquement à devenir un thérapeute.


3 Réponses :


8
votes

vous une recherche de "liaison statique". Cela importera tout le code nécessaire des bibliothèques dans votre exécutable. NOTE L'exécutable sera plus grande. Si vous utilisez des bibliothèques standard, elles doivent être présentes sur l'installation standard du système d'exploitation.

Vous devriez essayer "-Static" drapeau de g ++. Exécuter "LDD Your_Executable_Name" doit afficher toutes les bibliothèques utilisées par vos exécutables (liées de manière dynamique).


1 commentaires

sur OS X LDD = Otool -L exécutable, si quelqu'un se soucie



0
votes

Vous pouvez utiliser OPTIONSTATIQUES OR -S pour une liaison statique dans GCC ou G ++


0 commentaires

3
votes

Depuis que vous parlez de Mac OS X, vous voulez probablement faire un paquet. QT Software a une très utile Guide de déploiement pour commencer ce genre d'activité.


0 commentaires