Dll g++ sous VS

Signaler
Messages postés
7
Date d'inscription
mercredi 15 novembre 2006
Statut
Membre
Dernière intervention
8 août 2009
-
Messages postés
7
Date d'inscription
mercredi 15 novembre 2006
Statut
Membre
Dernière intervention
8 août 2009
-
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

Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
13
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 ?
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
13
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.
Messages postés
7
Date d'inscription
mercredi 15 novembre 2006
Statut
Membre
Dernière intervention
8 août 2009

ok merci pour ces infos très interessante.
Je pars en vacances et je reviendrai surement poser une ou deux questions.

Merci encore
++