Bonjour,
Je suis en train de créer un système de plugin pour un logiciel, j'utilise donc, sous windows, des dll.
Bizarrement lors de la compilation de celles-ci, gcc passe par l'étape d'édition. Bien évidement, j'obtiens des erreurs au niveau des fonctions de l'API de mon application puisque je fourni uniquement un fichier d'interface (les fichiers .h pour résumés).
J'utilise waf comme système de compilation, voici la commande générée :
Sous linux j'ai sensiblement la même chose (ça fonctionne comme je le souhaite), excepté les options suivantes en plus :
Code : Sélectionner tout - Visualiser dans une fenêtre à part gcc.exe default/plugins/todo/todo_1.o -o default/plugins/todo/libtodo.dll -shared -Lc:/codeblocks/mingw/lib -Wl,-Bdynamic -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lintl -lgtk-win32-2.0 -lgdk-win32-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangowin32-1.0 -lgdi32 -lpangocairo-1.0 -lpango-1.0 -lcairo -lgtksourceview-2.0
J'ai loupé une étape, ou l'édition des liens des DLL n'est pas dynamique sous Windows ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part -Wl,-h,libtodo.so.0 -Wl,--export-dynamic
Partager