Dll g++ sous VS

greenzephyr Messages postés 7 Date d'inscription mercredi 15 novembre 2006 Statut Membre Dernière intervention 8 août 2009 - 7 août 2009 à 09:52
greenzephyr Messages postés 7 Date d'inscription mercredi 15 novembre 2006 Statut Membre Dernière intervention 8 août 2009 - 8 août 2009 à 13:18
Salut à tous,

Je dois faire une appli Windows Form qui utilise une dll compilée sous Linux avec g++.
Je dispose des sources de cette dll.

Pour vous quelle est la meilleur facon de faire mon application Windows Form ?
(VS C++, VS C++ managé (CLR), C# ???)

Si la question est trop floue, voici quelques petites questions qui m'embêtent beaucoup ....

1) Est-il possible (et comment ) d'utiliser une dll compilée sous Linux avec g++ dans un projet C++ (managé de préférence) sous Visual Studio ?

2) Si je dispose des sources de la dll compilée g++, quelles sont les étapes et les options VS pour avoir une assembly utilisables avec C# ?


Merci de votre aide

3 réponses

cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
8 août 2009 à 12:28
Salut,

1) C++ :
Tu ne peux pas faire de Windows Forms en "vrai" C++.

Les Windows Forms est une librairie dotnet (Une technologie ou les logiciel et librairies sont compilées vers du code intermédiaire, comme en java).

Tu peux par contre faire ton appli en C++ natif (Ce sera plus facile pour utiliser ta dll : pas besoin de faire du PInvoke/Marshalling) avec une fenêtre réalisée en Win32 et en utilisant par exemple Code::Blocks/gcc, pour rester consistant avec la dll.

2) C++ Managé :
Le C++ managé est très peu utilisé, et le peu qui l'utilise sont généralement des n00bs qui ont téléchargé Visual Studio express et qui s'en sont servi sans savoir que tout le monde télécharge aussi le platform sdk. Bref, tu trouveras peu d'aide et peu d'exemple.

D'autre part, le C++ managé est du C++ bricolé pour pouvoir être compilé vers le code intermédiaire dotnet, donc c'est pas très jolie.

3) Le C# :

Il est de loin plus adapté au dotnet et aux WinForms vu qu'il a été créé en même temps et pour le dotnet. Par contre, les performances, la portabilité (Machine virtuelle en bonne version requise sur la machine cible), et la facilité d'interfaçage avec la dll ne seront pas au rendez vous (Voir PInvoke).

PS :
Petite question, ta dll linux, tu l'as cross compilée ?
0
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
8 août 2009 à 12:42
Ah heu non ta dll, t'as les sources donc, et tu veux la recompilé.

Nan franchement, tout faire en natif, ce serait quand même largement plus simple.
0
greenzephyr Messages postés 7 Date d'inscription mercredi 15 novembre 2006 Statut Membre Dernière intervention 8 août 2009
8 août 2009 à 13:18
ok merci pour ces infos très interessante.
Je pars en vacances et je reviendrai surement poser une ou deux questions.

Merci encore
++
0
Rejoignez-nous