Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 09/08/2013, à 09:58

certes

problème lors de la compilation (pour débutant probablement ...)

Bonjour,

Quelqu'un pourrait il me dire d'ou provient l'erreur ?

make[1]: entrant dans le répertoire « /usr/local/share/sf-converter/sf-convert-v1.200-prod-src/sf-convert-v1.0 »
g++ -O   -ansi -Werror -Wall -Wno-deprecated   -DHAVE_STRCASECMP -DINCL_TEMPLATE_SRC -DHAVE_PLACEMENT_NEW  -I./include -I../include    -c src/util.C -o ./obj/util.o
src/util.C: In function ‘void dos2unix(char*)’:
src/util.C:2031:20: erreur: ignoring return value of ‘int system(const char*)’, declared with attribute warn_unused_result [-Werror=unused-result]
src/util.C:2037:24: erreur: ignoring return value of ‘int system(const char*)’, declared with attribute warn_unused_result [-Werror=unused-result]
src/util.C: In function ‘void file_handle(char*, char*)’:
src/util.C:1787:32: erreur: ignoring return value of ‘int system(const char*)’, declared with attribute warn_unused_result [-Werror=unused-result]
src/util.C:1799:32: erreur: ignoring return value of ‘int system(const char*)’, declared with attribute warn_unused_result [-Werror=unused-result]
src/util.C: In function ‘void delete_file(const char*)’:
src/util.C:1564:24: erreur: ignoring return value of ‘int system(const char*)’, declared with attribute warn_unused_result [-Werror=unused-result]
src/util.C:1567:24: erreur: ignoring return value of ‘int system(const char*)’, declared with attribute warn_unused_result [-Werror=unused-result]
src/util.C:1570:24: erreur: ignoring return value of ‘int system(const char*)’, declared with attribute warn_unused_result [-Werror=unused-result]
src/util.C:1575:20: erreur: ignoring return value of ‘int system(const char*)’, declared with attribute warn_unused_result [-Werror=unused-result]
cc1plus: all warnings being treated as errors
make[1]: *** [util.o] Erreur 1
make[1]: quittant le répertoire « /usr/local/share/sf-converter/sf-convert-v1.200-prod-src/sf-convert-v1.0 »
make: *** [compile] Erreur 1

les instructions étaient les suivantes:

         Installation and Usage Notes for the sf-convert Application
                            (Source Distribution)

1.  Installation   

    Uncompress and unbundle the distribution using the following command:

        zcat sf-convert-vX.X.tar.gz | tar -xf -


2.  Building the Application

    Position in the sf-convert-vX.X directory and run "make" command:

        cd sf-convert-vX.X
        make

    The application executables will be placed in the "sf-convert-vX.X/bin"
    subdirectory.

    NOTE: Users working on Sun platforms are advised to check the compiler
    flags in etc/make.platform.sunos5 file. Depending on the compiler version,
    users may be required to make modifications to those compiler flags.

Les deux premières tentatives n'ont pas réussi
j'ai d'abord dû installer Bison
puis flex
mais là je coince 

Mille merci

Hors ligne

#2 Le 09/08/2013, à 10:07

telliam

Re : problème lors de la compilation (pour débutant probablement ...)

C'est écrit dans le log. Ton compilo génère une erreur si le code retour  d'une fonction n'est pas testé. 2 possibilités : tu vire l'option du compilo ou alors tu modifies le code


"- Un intellectuel assis va moins loin qu'un con qui marche."
Maurice Biraud - Un Taxi pour Tobrouk
Michel Audiard

Hors ligne

#3 Le 09/08/2013, à 10:27

J5012

Re : problème lors de la compilation (pour débutant probablement ...)

perso l'erreur proviendrait plutot du typage : des valeurs int en resultats qui prennent en arguments des constantes caracteres : trouvez pas que ca fait bizarre ?

un type char ne peut pas etre const , plutot var, et si c'est var , le retour n'est pas un int ...

Hors ligne

#4 Le 09/08/2013, à 12:51

telliam

Re : problème lors de la compilation (pour débutant probablement ...)

Y'a rien de bizarre a ça.  System() prend une 'ligne de commande' en paramètre et retourne le résultat de l'exécution


"- Un intellectuel assis va moins loin qu'un con qui marche."
Maurice Biraud - Un Taxi pour Tobrouk
Michel Audiard

Hors ligne

#5 Le 10/08/2013, à 08:59

J5012

Re : problème lors de la compilation (pour débutant probablement ...)

@telliam : tu connais bcp de "lignes de commandes" qui soit en programmation typees comme des const char* au lieu d'etre des var char* ?

d'acc qu'une commande passee avec system() puisse renvoyer 0 ou 1 pour succes ou error mais c'est pas toujours le cas, qqfois c'est -1 ou meme une autre chaine non numerique ... je maintiens : erreurs de typage dans le source ...

Hors ligne

#6 Le 10/08/2013, à 09:12

telliam

Re : problème lors de la compilation (pour débutant probablement ...)

Ben oui ta ligne de commande n'est pas modifiable donc elle peut être const.
-1 est un int  donc je vois pas le probleme. En plus c'est dans le prototype de system(), il renvoie un int.

Et sauf erreur de ma part :  var char*  ça existe pas en C.

Je me base sur l'erreur du compilo.


"- Un intellectuel assis va moins loin qu'un con qui marche."
Maurice Biraud - Un Taxi pour Tobrouk
Michel Audiard

Hors ligne

#7 Le 10/08/2013, à 09:41

pingouinux

Re : problème lors de la compilation (pour débutant probablement ...)

Bonjour,
Pour ce qui est du typage de cette commande, voici le début de man system :

SYSTEM(3)                  Linux Programmer's Manual                 SYSTEM(3)

NAME
       system - execute a shell command

SYNOPSIS
       #include <stdlib.h>

       int system(const char *command);

Hors ligne

#8 Le 11/08/2013, à 21:56

J5012

Re : problème lors de la compilation (pour débutant probablement ...)

oui pingouinux, j'ai fini par saisir en quoi une commande pouvait etre de type constante, cette variable etant passee par valeur et non par reference (le programme sait par avance de quelle commande il s'agit) ...

le code de retour etant la reponse attendue par systeme (0,1,-1)

je ne sais pas si on peut dire au compilateur d'ignorer les warnings, dans la config de "certes", le compilateur voit le warning comme une erreur "grave" ...

Hors ligne