Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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

CaptainGarrett a écrit :

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