Portage d'une appli Windows vers linux ( en C++)

Salut à tous!

Ma question est dans le tire. J’aimerais pouvoir porter une appli que j’ai développé en c++, avec Visual.net. Pour info, j’utilise les MFC.
J’aimerais savoir quelle est la meilleure façon de réaliser ce portage.
Quel logiciel utiliser? quelles librairies utiliser?
J’ai mono develop, mais il ne permet pas de créer des projets en C++.
Merci pour vos réponses

Tu as QT[/url] qui est extrêment puissant et mature ainsi que [url=http://www.wxwidgets.org/]wxWidgets mais tu auras beaucoup de travail à faire car tout ce qui concerne le MFC devra être réécrit.
En fait, le mieux est de tout réécrire ainsi tu n’auras plus de dépendance concernant les MFC.

et y’aurait pas un site qui donne les équivalents des fonctions… Parce que c’est chiant kd meme de tt devoir me retaper

Bé le but de ces toolkits c’est de justement d’avoir le même code sur tous les OS, une simple recompilation d’une plateforme à une autre suffit le plus souvent.
Ton problème c’est que tu utilises les MFC qui n’existe que sur windows et donc plutôt que de réécrir l’équivalent pour les autres OS, il me parait plus judicieux de réécrire la partie MFC en utilisant l’un de ces toolkits et de recompiler chaque version de ton soft sur chaque OS.
Crois moi, c’est bien mieux de suivre mon conseil car essayer de wrapper une fonction MFC vers QT (ou autre), t’as pas fini de te prendre la tête.
Pis tu vas enfin gouter à de vraies lib C++ (mais ça, c’est un autre débat).

Le mieux c’est d’être dépendant ni des MFC ni de QT ou autre.
Tu utilises les stl et tu externalises au maximum le code dépendant de l’OS (graphique, communication interprocess, un minimum socket etc…)

Comme ça le jour ou tu considères que MFC / QT ou autre te convient plus, la réécriture est minimale.

Par contre si t’as une vrai appli MFC jusqu’à l’os avec architecture document / vue et tout le tralala t’as deux solutions:

  1. Tout réécrire.
  2. Essayer de compiler avec wine. (Bon courage)

Le mieux c’est de faire une interface englobant tes besoins graphiques. Pour n’avoir qu’à utiliser quelque chose l’implémentant. Comme ton interface t’assure une dépendance avec le système (à priori, le but n’est que d’écrire qu’une nouvelle implémentation de l’interface en fonction de l’os) tu n’as plus qu’à réécrire le code purement Windows/Linux/etc

Sinon tu as Swing & JNI ? :stuck_out_tongue:

Déja que changer de toolkit, ca va lui demander beaucoup de travail, s’il doit en plus changer de langage (voire l’apprendre s’il ne connait pas le Java) :sarcastic:

je déconne ;p

mais il aurait un truc vraiment portable au moins.

Sinon faut qu’il se réalise une interface et qu’il adapte derrière chacune des IG selon ses besoins. (bref: Design Pattern : Adapter + Façade)

J’adore les Design pattern, mais bref, j’ai un gros projet dessus :o