J'ai un programme utilisant gtkmm, gtkglextmm et exiv2.Quelque chose comme .dll sur Linux - comment les obtenir?
Je veux inclure ces bibliothèques avec l'exécutable, car l'application ne fonctionnera pas si l'utilisateur ne les a pas sur son système. Sur les fichiers Windows .dll résolu le problème (je les ai mis dans le même répertoire que le fichier de sortie).
Comment attacher des bibliothèques similaires sur Linux? Y a-t-il un outil qui aide à cela? Je ne peux pas forcer l'utilisateur à installer des dépendances.
Sous Linux, l'équivalent d'un .dll est un "objet partagé dynamique", ou un .so. Vous pouvez lier statiquement les bibliothèques requises dans votre exécutable, mais ce n'est vraiment pas la meilleure pratique. Voir la réponse de David Heffernan. Vous n'avez pas besoin de forcer l'utilisateur à installer les dépendances; vous dites simplement à l'utilisateur que c'est son choix et qu'il ne peut pas exécuter votre application sans ces dépendances. –
Si votre programme est un logiciel libre (par exemple sous licence GPL ou LGPL), vous obtiendrez probablement de l'aide pour l'empaqueter au sein de distributions majeures (et parfois même, une personne sympathique l'empaquetera pour vous). –
William J'ai lu quelque part que vous ne pouvez pas faire de liaison statique avec gtk (et gtkmm). Je me demande si c'est vrai ... Aussi, comme je l'ai écrit ci-dessous la réponse de David Heffernan - je dois faire fonctionner ce programme même si l'utilisateur est trop paresseux pour installer des dépendances par lui-même. – Marco