Executable avec C++ Builder

Executable avec C++ Builder - C++ - Programmation

Marsh Posté le 24-09-2007 à 12:43:56    

Salut,

 

J'utilise depuis peu le logiciel C++ Builder et j'aurai voulu savoir s'il était de possible de créer un executable ?
C'est à dire qu'il s'ouvre sur une machine ne disposant pas de C++ Builder.
J'ai lu que l'exe était créé lors de la compilation mais je n'ai rien trouvé dans le repetoire où le projet est enregistré.

 

Merci.

 

PS: J'utilise la version d'évaluation de C++ Builder 2007 mais bon ca doit être pareil que les autres...


Message édité par gre1307 le 24-09-2007 à 18:43:13
Reply

Marsh Posté le 24-09-2007 à 12:43:56   

Reply

Marsh Posté le 24-09-2007 à 13:31:42    

Il faut faire un programme d'installation qui va à la fois installer ton programme et d'autres part les packages utiles de C++Builder pour faire fonctionner le tout sur la machine cible. Il y à des outils pour ce faire : installshield, innosetup, etc...
 
Si tu débute avec C++Builder, je te conseille :
- La F.A.Q C++Builder
- Les cours et tutoriels C++Builder
 

Reply

Marsh Posté le 24-09-2007 à 13:38:52    

Ne pas oublier d'utiliser dependancy walker pour vérifier l'inclusion des libraries utilisées par ton executables, ainsi que de leurs licences, si redistribution il y a.


---------------
Töp of the plöp
Reply

Marsh Posté le 24-09-2007 à 18:42:58    

Ok merci je vais aller faire un tour sur les sites cités.
 
Mon prof m'avait également indiqué qu'il fallait utilisé la bibliothèque Abakus.  
Je l'ai téléchargée et installée mais je ne suis pas sur qu'elle soit reconnue correctement puisque quand je met un bouton par exemple, une fenêtre s'ouvre me demandant d'indiquer l'emplacement d'un fichier qui se trouve justement dans le repertoire d'Abakus.
 
Merci.

Reply

Marsh Posté le 24-09-2007 à 20:32:44    

J'ai regardé quelques explications pour le logiciel Inno Setup mais il sert à empaqueter plein de fichiers y compris le .exe.
Le problème c'est que je n'ai pas cet executable et c'est celui la que j'aimerai avoir.  
Je voudrai pouvoir "jouer" avec mes programmes en dehors de Builder.
Je ne sais pas si c'est compréhensible ni si c'est possible lol.
 
Merci ;)

Reply

Marsh Posté le 24-09-2007 à 22:59:44    

Ca n'est pas possible, car C++Builder utilise une librairie propriétaire (VCL) que tu doit déployer si tu utilises cette librairie.
 
Si tu veux faire du "Pur C++" il vaux mieux utiliser un autre EDI et un autre compilateur.
 
Liste : Les principaux EDI et compilateurs pour C++
 

Reply

Marsh Posté le 25-09-2007 à 12:01:38    

Nan, mais en fait je crois qu'il ne sait pas ou son .exe est créer quand il compile son programme :-)

Reply

Marsh Posté le 25-09-2007 à 18:57:23    

Pour obtenir un éxecutable indépendant, il faut décocher les options:
- construire avec les paquets d'éxecutions dans projet/options/paquets.
- utiliser la RTL dynamique dans projet/options/lieur.

Reply

Marsh Posté le 28-09-2007 à 19:20:46    

+1 (oublie Paul JR).
Builder est livré avec 2 versions des librairies : statique (.lib) et dynamique (.bpl).
Tu peux obtenir un .exe qui ne nécessite aucun autre fichier - voir la réponse de videaste95
 
Maintenant, pour trouver où se trouve l'exe généré par la compile, deux soluces :
- tu regardes le dossier indiqué dans les options de compile de ton projet :
  Dans la fenêtre du "Gestionnaire de projet" / clic droit sur ton projet (Ex: Toto.exe) /
  Options / Onglet "Répertoires/Conditions" / Case "Sortie finale"
  (bon, ça c'est avec la version 6 de Builder, je ne sais pas si a beaucoup changé en v2007)
- tu cherches ton exe dans tous les dossiers de tous tes disques.
  Un simple F3 dans l'explorateur Windows devrait suffire
 


---------------
If I want to fail and succeed, which I have done ?
Reply

Marsh Posté le 30-09-2007 à 21:07:04    

Désolé j'avais mal compris, je pensais qu'il voulais éditer ses programmes C++Builder avec d'autres éditeurs   :whistle:  
(ce qui serais possible avec du pur c++ mais pas avec la VCL)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed