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 !
Version imprimable
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:
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)