Utilisation DLL win32 C++ ou C# dans dev-c++

Fermé
tytyty - 7 déc. 2008 à 20:50
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 8 déc. 2008 à 09:33
Bonjour à tous!

Je cherche depuis maintenant de nombreuses heures à utiliser avec dev-c++ une dll venant de de vs par interoperabilité.

Le but étant d'utiliser une dll en C# depuis dev-c++.
A ce que j'ai compris, Dev-c++ ne permet pas celà, même en passant par un COM. (car il ne gère pas les MFC)

La technique consisterais alors à créer une dll en c++ win32 sous visual studio, utilisant la fonction #IMPORT et l'interface de la dll C# pour en éxécuter son code. Le projet en executable fonctionne parfaitement, et utilise https://www.codeproject.com/Articles/12673/Calling-Managed-NET-C-COM-Objects-from-Unmanaged-C

Cependant, je ne parviens pas à utiliser cette DLL c++ win32 depuis dev-c++.

J'ai pourtant créé le .a venant du .lib avec reimp.exe / dlltool .exe, mais obtiens toujours à la compilation l'erreur:

[Linker error] undefined reference to `_imp___ZN6MyClassC1Ev'

Merci par avance à celle/celui qui pourra m'indiquer le processus de création d'une dll win32 venant de visual c++ et utilisable par dev-c++ !

PS: étant novice en la matière, j'ai vu qu'il était possible de créer une static lib dans visual studio, générant un .lib au lieu d'une dll. Ce .lib serait-t-il utilisable par dev-c++ plus facilement qu'une DLL?
A voir également:

1 réponse

Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
8 déc. 2008 à 09:33
Salut.
Je ne connais rien à VS. Mais il me semble que VS utilise une autre convention d'édition des liens que gcc (le compilateur de DevCpp), aussi, je pense qu'il n'est pas évident de connecter les deux, voire impossible.
Essai d'explorer les dll ou les lib avec nm.exe, un logiciel qui liste les table des entrées d'un fichier objet (.o, ou lib*.a).
Regarde dans l'aide de ld ou g++ si il est possible de lier avec des options pour être compatible avec VS.
0