Pages : 1
#1 Le 21/04/2015, à 08:02
- CaptainGarrett
DLL windows à partir de ubuntu
Je suis sur Ubuntu 14.04. J'ai fait un programme en C++ avec un peu de OpenCV. Le programme marche très bien.
Mon souci, c'est qu'on m'a demandé d'en faire une DLL pour Windows et que je ne sais pas du tout comment faire... ( Je n'ai jamais fait de DLL avant )
Quelqu'un pourrait-il m'aider ou me fournir un lien qui pourrait m'aider ?
Hors ligne
#2 Le 21/04/2015, à 08:18
- Nasman
Re : DLL windows à partir de ubuntu
Une dll est comme un exe mis à part qu'elle contient des définition et exports de fonctions sensées être appelées par d'autre programmes exe.
Mon expérience de dll a été faite en assembleur.
Il s'agissait de :
- créer le programme (assembleur) à l'aide d'un éditeur de texte
- compiler le code pour avoir un format objet
- créer la dll finale avec un éditeur de liens (en passant quelques paramètres)
Sous Windows j'utilisais nasm (assembleur) + gorc (pour les ressources) + alink (éditeur de liens)
Avec les outils GNU tu doit pouvoir passer des options à g++ ou ld
PC fixe sous Bionic 64 bits et portable avec Focal 64 bits
Hors ligne
#3 Le 22/04/2015, à 10:56
- CaptainGarrett
Re : DLL windows à partir de ubuntu
Aprés recherche, j'ai finalement essayer MinGW ( qui permet de sortir des exécutables pour wiondows si j'ai bien compris ) mais ça ne compile pas à cause de OpenCV, des idées ?
Hors ligne
#4 Le 22/04/2015, à 12:43
- claudius01
Re : DLL windows à partir de ubuntu
j'ai finalement essayer MinGW ... mais ça ne compile pas à cause de OpenCV, des idées ?
Mais encore ?!.
En attendant, regarde si cela n'est pas déjà fait: opencvmingw
Hors ligne
#5 Le 23/04/2015, à 07:46
- CaptainGarrett
Re : DLL windows à partir de ubuntu
Euh, oui Claudius, désolé ... Donc j'avais trouvé ce tuto qui expliquait qu'il suffisait une fois l'installation de MinGW terminé de compiler les programmes de la façon suivante :
i586-mingw32msvc-g++ -o bonjour.exe main.cpp
Pour le programme test qui affiche "bonjour", pas de souci.
Le problème, c'est que mon programme marche avec OpenCV et que pour compiler avec OpenCV, il faut faire de la façon suivante :
g++ main.cpp -o bonjour `pkg-config --libs opencv --cflags opencv`
Je me suis dis ( naïvement visiblement ) que faire une combinaison des deux du style :
i586-mingw32msvc-g++ main.cpp -o bonjour.exe `pkg-config --libs opencv --cflags opencv`
marcherait mais non, j'obitens l'erreur suivante :
/usr/local/lib/libopencv_calib3d.so: file not recognized: File format not recognized
Du coup, la compilation MinGW ne reconnaît pas les fonctions OpenCV et la compilation OpenCV ne me permet pas de faire mes exécutables Windows. C'est pour ça que j'aimerais avoir de l'aide.
Dernière modification par CaptainGarrett (Le 23/04/2015, à 09:44)
Hors ligne
#6 Le 23/04/2015, à 10:04
- claudius01
Re : DLL windows à partir de ubuntu
Sauf erreur de ma part, la DLL que l'on te demande concerne Ton programme et non OpenCV.
Ma compréhension est donc de produire une DLL qui s'appuiera sur OpenCV qui sera à installer (ou produire d'où mon post #4 d'hier) sur Windows.
cf. Where can i find dlls for opencv ?...
Hors ligne