Nous sommes actuellement le 13 Juil 2026, 22:38

Le fuseau horaire est UTC-5 heures [Heure d’été]




Publier un nouveau sujet Répondre au sujet  [ 24 message(s) ]  Aller vers la page 1, 2  Suivant
Auteur Message
 Sujet du message: Compiller en C++ .. Makefile
MessagePublié: 16 Fév 2004, 17:55 
Hors-ligne
Toujours là!
Toujours là!
Avatar de l’utilisateur

Inscription : 29 Août 2002, 12:39
Message(s) : 1333
Localisation : Saint-Georges de Beauce
Bonjour tlm, j'aimerais savoir, comment on fait pour compiler du C++?

J'ai tous les fichiers ainsi que makefile...

Alors, comment on procède?

A+

_________________
[wiBo@School Histoire]$ mount brain
/dev/brain : No such file or directory. :lol:


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 16 Fév 2004, 19:33 
Hors-ligne
Occasionnel
Occasionnel

Inscription : 08 Jan 2002, 22:43
Message(s) : 140
Localisation : Québec
Compiler le c++ sur quelle plateforme?

genre, sur unix ou cygwin; ca serait au plus simple:

g++ FICHIER.cpp -o NOMAPPLICATION


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 16 Fév 2004, 22:15 
Hors-ligne
Toujours là!
Toujours là!
Avatar de l’utilisateur

Inscription : 29 Août 2002, 12:39
Message(s) : 1333
Localisation : Saint-Georges de Beauce
J'essais ca et je te reviens avec ca!

Merci..

Hmm , mon fichier CPP est ds un autre dossier genre j'ai mon dossier SRC pis dans le dossier ya un dossier WORK genre ca donne ca :

FICHIER CPP PATH = /src/work/fichier.cpp

J'l'essais pareille

J'te reviens avec ca!

A+

Compilation sous Linux :D

_________________
[wiBo@School Histoire]$ mount brain
/dev/brain : No such file or directory. :lol:


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 16 Fév 2004, 22:24 
Hors-ligne
Toujours là!
Toujours là!
Avatar de l’utilisateur

Inscription : 29 Août 2002, 12:39
Message(s) : 1333
Localisation : Saint-Georges de Beauce
Ca me donne ca :

Code :
wibo@base1:~/src/work$ g++ cleanpe.cpp -o TEST1
cleanpe.cpp:2:21: windows.h : Aucun fichier ou répertoire de ce type
cleanpe.cpp:9: error: `main' must return `int'
cleanpe.cpp: Dans function « int main(...) »:
cleanpe.cpp:12: error: déclaration d'un retour sans valeur, dans la fonction
   déclarée avec un type retourné non void
cleanpe.cpp:15: error: `HANDLE' undeclared (first use this function)
cleanpe.cpp:15: error: (Each undeclared identifier is reported only once for
   each function it appears in.)
cleanpe.cpp:15: error: erreur d'analyse syntaxique before `=' token
cleanpe.cpp:17: error: `h' undeclared (first use this function)
cleanpe.cpp:17: error: `INVALID_HANDLE_VALUE' undeclared (first use this
   function)
cleanpe.cpp:19: error: déclaration d'un retour sans valeur, dans la fonction
   déclarée avec un type retourné non void
cleanpe.cpp:22: error: `GetFileSize' undeclared (first use this function)
cleanpe.cpp:24: error: `CloseHandle' undeclared (first use this function)
cleanpe.cpp:25: error: déclaration d'un retour sans valeur, dans la fonction
   déclarée avec un type retourné non void
cleanpe.cpp:28: error: `DWORD' undeclared (first use this function)
cleanpe.cpp:28: error: erreur d'analyse syntaxique before `,' token
cleanpe.cpp:29: error: `FILE_BEGIN' undeclared (first use this function)
cleanpe.cpp:29: error: `SetFilePointer' undeclared (first use this function)
cleanpe.cpp:30: error: `dwPeOffs' undeclared (first use this function)
cleanpe.cpp:30: error: `dwRead' undeclared (first use this function)
cleanpe.cpp:30: error: `ReadFile' undeclared (first use this function)
cleanpe.cpp:36: error: erreur d'analyse syntaxique before `;' token
cleanpe.cpp:38: error: `i' undeclared (first use this function)
cleanpe.cpp:39: error: `BYTE' undeclared (first use this function)
cleanpe.cpp:39: error: erreur d'analyse syntaxique before `=' token
cleanpe.cpp:40: error: `c' undeclared (first use this function)
cleanpe.cpp:40: error: `dwWritten' undeclared (first use this function)
cleanpe.cpp:40: error: `WriteFile' undeclared (first use this function)
cleanpe.cpp:44: error: erreur d'analyse syntaxique before `;' token
cleanpe.cpp:46: error: `dwOldTime' undeclared (first use this function)
cleanpe.cpp:55:2: attention : pas de retour chariot à la fin du fichier


Je fait quoi? :roll:

_________________
[wiBo@School Histoire]$ mount brain
/dev/brain : No such file or directory. :lol:


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 16 Fév 2004, 23:10 
Hors-ligne
Occasionnel
Occasionnel

Inscription : 08 Jan 2002, 22:43
Message(s) : 140
Localisation : Québec
#include "windows.h"

wow :D ca commence mal! :lol:

Ce programme, vu les erreurs, ressemble a un programme win32.

Ca ne compilera pas sous linux; a moins de faire des changements majeurs (fonctions utilisees pour acceder aux fichiers, fonctions de fenetrage, etc.)

GetFileSize, CloseHandle, SetFilePointer ... apres un regard rapide dans MSDN, j'ai vu que c'est tout des fonctions "windows".


Pour qu'un programme soit portable; il faut eviter d'utiliser des API proprietaires et se contenter de la librairie standart; et choisir des librairies multi-plate-formes.


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 16 Fév 2004, 23:21 
Hors-ligne
Toujours là!
Toujours là!
Avatar de l’utilisateur

Inscription : 29 Août 2002, 12:39
Message(s) : 1333
Localisation : Saint-Georges de Beauce
En francais ca veut dire quoi? :/

Je doit donc le compiler sous Windows ou ??

Peut tu m'expliquer ou me montrer la démarche a suivre?

A+

_________________
[wiBo@School Histoire]$ mount brain
/dev/brain : No such file or directory. :lol:


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 16 Fév 2004, 23:26 
Hors-ligne
Occasionnel
Occasionnel

Inscription : 08 Jan 2002, 22:43
Message(s) : 140
Localisation : Québec
Ce programme ne compilera ni n'executera pas sous linux.

Il faut utiliser un compilateur windows; pour faire un une application (un .exe) utilisable seulement sous windows.
Comme compilateur, utiliser visual C++; ou borland C++ par exemple. Enfin, quelque chose qui fournisse le fichier d'inclusion "windows.h".


L'autre option est de modifier le programme pour remplacer toutes les fonctions non definies sous linux.
La demarche a suivre depend de la nature exacte du programme; des fonctions a reecrire.


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 16 Fév 2004, 23:39 
Hors-ligne
Toujours là!
Toujours là!
Avatar de l’utilisateur

Inscription : 29 Août 2002, 12:39
Message(s) : 1333
Localisation : Saint-Georges de Beauce
Donc, je doit me trouver un programme de C++ exact?

En existerait-il des gratuits?

Sinon, ou puis-je me les procurer? Faut surement les acheter :)

A+

_________________
[wiBo@School Histoire]$ mount brain
/dev/brain : No such file or directory. :lol:


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 17 Fév 2004, 02:13 
Hors-ligne
Répond à tout!
Répond à tout!

Inscription : 10 Jan 2002, 14:09
Message(s) : 2386
Localisation : Verdun
dev-cpp,ce programme fonctionne sous windows et sous linux et est vraiment bien. C;est meme possible coder graphiquement avec GTK sous windows.

http://www.bloodshed.net/dev/devcpp.html


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 17 Fév 2004, 08:53 
Hors-ligne
Toujours là!
Toujours là!
Avatar de l’utilisateur

Inscription : 29 Août 2002, 12:39
Message(s) : 1333
Localisation : Saint-Georges de Beauce
J'essais ca!

Mais va-t-il me manquer le windows.h?

_________________
[wiBo@School Histoire]$ mount brain
/dev/brain : No such file or directory. :lol:


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 17 Fév 2004, 10:03 
Hors-ligne
Répond à tout!
Répond à tout!

Inscription : 10 Jan 2002, 14:09
Message(s) : 2386
Localisation : Verdun
en windows non, en linux oui.

et sans etre un programmeur experimenter, oublier tout suite de faire roulerce programme en linux.


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 17 Fév 2004, 17:42 
Hors-ligne
Toujours là!
Toujours là!
Avatar de l’utilisateur

Inscription : 29 Août 2002, 12:39
Message(s) : 1333
Localisation : Saint-Georges de Beauce
Pas de pb :) lol

Bon avec DevCpp j'ai ouvert le fichier CPP , et j'ai fait COMPILER..

mais la il me donne cette erreur là :

Code :
9 C:\Mes documents\src\work\cleanpe.cpp
`main' must return `int'


Pis là, j'ai pleins d'autres erreurs,, je comprend pas pk?

:/

A+

_________________
[wiBo@School Histoire]$ mount brain
/dev/brain : No such file or directory. :lol:


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 17 Fév 2004, 17:50 
Hors-ligne
Toujours là!
Toujours là!
Avatar de l’utilisateur

Inscription : 29 Août 2002, 12:39
Message(s) : 1333
Localisation : Saint-Georges de Beauce
Citer:
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <stdio.h>

#define VERBOSE
#define STUBSIZE 0x40 /* 64 */

void main(int argc, char *argv[])
if (argc < 2) {
printf("Usage: %s <filename.exe>\n", argv[0]);
return;
}

HANDLE h = CreateFile(argv[1], GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ, 0,
OPEN_EXISTING, 0, 0);
if (h == INVALID_HANDLE_VALUE) {
printf("%s: cannot open \"%s\"\n", argv[0], argv[1]);
return;
}

if (GetFileSize(h,0) < 0x100) {
printf("%s: invalid size\n", argv[0]);
CloseHandle(h);
return;
}

DWORD dwPeOffs, dwRead, dwWritten;
SetFilePointer(h, 0x3C, 0, FILE_BEGIN);
ReadFile(h, &dwPeOffs, 4, &dwRead, 0);

#ifdef VERBOSE
printf("PE header offset: 0x%.8X\n", dwPeOffs);
#endif

DWORD i;
SetFilePointer(h, STUBSIZE, 0, FILE_BEGIN);
for (i=STUBSIZE; i<dwPeOffs; i++) {
BYTE c = 0;
WriteFile(h, &c, 1, &dwWritten, 0);
}

#ifdef VERBOSE
DWORD dwOldTime;
SetFilePointer(h, dwPeOffs+0x08, 0, FILE_BEGIN);
ReadFile(h, &dwOldTime, 4, &dwRead, 0);
printf("Old timestamp: 0x%.8X\n", dwOldTime);
#endif

SetFilePointer(h, dwPeOffs+0x08, 0, FILE_BEGIN);
i = 0;
WriteFile(h, &i, 4, &dwWritten, 0);

CloseHandle(h);
}


Tout ce que j'ai mis en GRAS, c'est en ROUGE apres qu'il est essayer de compiler...

So ? :/

_________________
[wiBo@School Histoire]$ mount brain
/dev/brain : No such file or directory. :lol:


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 17 Fév 2004, 18:54 
Hors-ligne
Répond à tout!
Répond à tout!

Inscription : 10 Jan 2002, 14:09
Message(s) : 2386
Localisation : Verdun
premierement c´est du C pas du C++ .
dexiemement un bon livre vous ferais pas de tors.

quand vous initier votre programme vous devey lui dire qu;elle type de donner il va retourner :

int main (void) // retourne un int(int) et recois rien(void)
{
return i; // i qui serait un int
}

le programme dois retourne un int pour identifier sont code de retour, ce qui determine si celui-ci c´est terminer correctement(0).

en linux, apres taper un commande (n´importe laquelle) tapez echo $?
ca va vous donner le code de retour de la commande.


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 17 Fév 2004, 19:17 
Hors-ligne
Toujours là!
Toujours là!
Avatar de l’utilisateur

Inscription : 29 Août 2002, 12:39
Message(s) : 1333
Localisation : Saint-Georges de Beauce
Sanctus, je ne veux pas apprendre a programmer :D

Je voudrais juste le compiler? Et si c'est du C, y'a-t-il une alternative de DevCpp ?

Et je fait quoi avec les lignes de codes des erreurs? :/

Ahh j'aime pas ca quand tout marche pas bien lol :P

_________________
[wiBo@School Histoire]$ mount brain
/dev/brain : No such file or directory. :lol:


Haut
 Profil  
Répondre en citant  
Afficher les messages publiés depuis :  Trier par  
Publier un nouveau sujet Répondre au sujet  [ 24 message(s) ]  Aller vers la page 1, 2  Suivant

Le fuseau horaire est UTC-5 heures [Heure d’été]


Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 3 invité(s)


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum

Recherche de:
Aller vers :  
cron
Propulsé par phpBB® Forum Software © phpBB Group
Traduction et support en françaisHébergement de site