Bonjour, la suite concerne plus les IDE en général qu'un langage particulier.
Avec nos IDE modernes, lorsque l'on utilise des librairies externes pour lancer/tester un programme, est-on obligé de copier les DLLs dans le dossier où est généré l'executable ? N'y a t'il pas moyen d'indiquer à l'IDE: Va chercher les DLLs qui se trouvent dans tel dossier.
Je ne sais pas de quel IDE tu parles, moi, c'est VS only.
Il y a bien des approches différentes pour faire le taf (ajout des dll dans le projet + configuration des actions de "génération", scripts pré-exécution du debugueur, etc...)
Mais je trouve très confortable d'avoir toutes les Dll bien rangée dans le répertoire de sortie de la génération.
Ça permet d’enchaîner la création d'un script d'installation sans oublier une Dll "à la con".
P.S.; et ça permet de faire des manifestes "bien propres" avec des Dll dédiées pour sortir du Dll Hell.
- Edité par bacelar 24 janvier 2023 à 18:44:40
Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
Avec le configurateur de projets/builds CMake (on peut compiler en Debug, Release, RelMinSize, Release with debug info), il y a une fonction d'installation des binaires (exécutables comme dll) dans le répertoire d'installation du projet final. CMake permet notamment de créer des projets pour Visual Studio, Codelite Eclipse, et d'autres IDE.
Par exemple, on lance dans le terminal la commande suivante à partir du répertoire racine des sources du projet:
cmake -G "Visual Studio 17 2022" -A x64 -DCMAKE_INSTALL_PREFIX="C:/Program files/Jeu" -B../buildDir -S./
-S indique le répertoire de sources
-B indique dans quel répertoire on va générer les binaires
et -DCMAKE_INSTALL_PREFIX le répertoire d' installation des binaires créés
Par contre pour les autres Dll à copier je n'ai pas trouvé de solution miracle, mais je pense bien connaître les dépendances des mes programmes et j'ai rarement eu des soucis à cause de Dll foireuses ou de l' absence d'une d'entre elle.
En general si, il suffit d'indiquer dans le LD_LIBRARY_PATH ou dans le projet.
Deedolith a écrit:
Heu non, ce n'est pas l'étape de la compilation / link dont je parle. Mais l'exécution.
LD_LIBRARY_PATH (Linux) ou DYLD_LIBRARY_PATH (macOS) ou PATH (Windows) sont bien des informations utilisées à l'exécution, pas au link et encore moins à la compilation. Donc le conseil de gbdivers est tout à fait pertinent.
Sinon CMake ajoute automatiquement par défaut les chemins de toutes les librairies liées au rpath des exécutables produits dans le "build tree", ce qui fait que durant le développement on peut lancer ses exécutables sans aucune manipulation supplémentaire (sauf sur Windows où il n y a pas de notion de rpath).
@SpaceIn: Vu que je travaille sous windows (à ma conaissance, les DLL n'existent pas sous Linux), LD_LIBRARY_PATH (comme tu le soulignes) ne s'applique pas. Et d'après cet article: What is LD_LIBRARY_PATH used for? (linuxhint.com) il n'est pas recommandé d'y toucher.
Sous linux, ai souvent utilisé cette variable pour faire tourner des logiciels qui tenaient absolument à utiliser des bibliothèques "exotiques", dans des versions incompatibles avec le reste de l'installation (qu'il faut parfois aller piocher sur des cd d'installation d'autres distributions largement périmées)
Technique : le lancement du logiciel se fait par un script qui positionne cette variable avant de démarrer l'exécutable.
- Edité par michelbillaud 30 janvier 2023 à 7:50:07
Les IDE
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Discord NaN. Mon site.
Mon site web de jeux SDL2 entre autres : https://www.ant01.fr