Bonjour !
Je suis un grand débutant dans le développement sous C++ Builder (et dans le développement en général) et j'aimerais simplement savoir si une application créée avec C++ Builder serais compatible Linux et MacOS. Merci !
Bonjour !
Je suis un grand débutant dans le développement sous C++ Builder (et dans le développement en général) et j'aimerais simplement savoir si une application créée avec C++ Builder serais compatible Linux et MacOS. Merci !
Bonjour,
tout d'abord, je te conseille de posser ta question plutôt dans le forum C++ Builder.
Comme j'ai un élément de réponse, je vais t'apporter quelques précisions.
Pour que ton appli soit portable au moins sur Linux, il faut utiliser les composants CLX (et non VCL) de Builder. Regarde l'aide ou la doc sur les composants CLX pour en savoir plus (notamment si cela fonctionne aussi avec Mac)
A priori ce n'est pas portable, l'idée est d'utiliser en effet les composant CLX, ce qui permetra de recompiler ton programme sous Kylix sans avoir a le retoucher, mais il faut tout de même le recompiler, par contre pour les mac je ne sais pas.
Il me semble que wxWidgets est une bibliothèque intéressante pour la portabilité des programmes sous différents OS. Je viens de télécharger la version 2.6.1, j'ai installé les fichiers nécessaires mais pour l'étape de la compilation, je suis perdu. Comment puis faire pour pouvoir utiliser wxWidgets avec C++ Buider ?
Salut,
AMHA, la réponse tourne entre le "non sauf si ..." et le "oui si..."
En complétant de toutes manières toujours par "jusqu'à un certain point".
Comme je présume que cette réponse ne te satisfera pas, je vais quand même l'expliquer un peu:
De manière générale, la librairire visuelle de C++ builder (la VCL) n'exsite pas sous linux, et, meme KILLIX ne l'implémente pas correctement (du moins, c'était le cas la dernière fois que j'ai essayé avec C++builder version 6 et killix... je sais plus combien)
A part la VCL, borland autorise la création d'application en utilisant ce qu'il appelle la CLX qui, selon lui, doit permettre la portabilité, et qui n'est en fait qu'une implémentation de la librairie graphique QT (sauf erreur), mais je n'ai jamais su me convaincre que c'était vraiment le cas... Peut-être me trompes-je lourdement sur ce coup là? d'autres le diront sans doute...
Ca, c'était pour la partie interface graphique, voyons maintenant les problèmes liés à la ligne de commande...
Il faut savoir que ce que windows appelle pomeusement sa "ligne de commandes" (menu démarrer->tous les programmes->accessoires->ligne de commandes ou menu démarrer->exécuter->cmd) ne respecte pas la norme ANSI, et que du coup on voit déjà apparaitre des différences d'implémentations pour le positionnement de l'écriture ou le fait d'écrire en rouge etc, le tout étant lié à des fichiers d'entetes sous linux et sous windows, et donc à des fonctions différentes.
Il faut aussi savoir que la ligne de commande de windows, quand elle appelle un exécutable, fournis, s'ils ont été déclarés dans la fonction main un série d'argument qui lui sont propres, et qui n'existent pas sous linux.
Par contre, il est tout à fait vrai qu'une fonction main "classique" du genre de
fonctionnera partout.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 int main(int argc, char *argv) { //code de la fonction principale return 0; }
Enfin, le dernier point à aborder, c'est la gestion des informations que tu manipules.
Si tu utilises, par exemple, la STL jusqu'à aussi loin que tu le peux (en gros, avant la prise en main par l'interface graphique), ou la librairie OpenGl ou toutes ces librairies disponibles sous les deux environnements, toute la partie du code qui l'utilise (la STL, pas l'interface graphique) sera *normalement* portable, parfois cependant au prix de certaines adaptations (p.e: la gestion des threads, si tu dois y avoir recours)
A méditer: La solution la plus simple est toujours la moins compliquée
Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
Compiler Gcc sous windows avec MinGW
Coder efficacement en C++ : dans les bacs le 17 février 2014
mon tout nouveau blog
Partager