IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

erreur de compil depuis le passage en C11 : lié à extern _NORETURN(void, exit)(int);


Sujet :

C

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 40
    Points : 45
    Points
    45
    Par défaut erreur de compil depuis le passage en C11 : lié à extern _NORETURN(void, exit)(int);
    Bonjour,

    Un PM a été réalisé sur mon serveur de dev et je suis passé en C11...

    j'ai maintenant une erreur de compilation :

    gcc -c -g -D_THREAD_SAFE -D_POSIX_PTHREAD_SEMANTICS -I/.../src/inc -I/OPT/oracle/product/19.10.0.0.210119/precomp/public -I/OPT/oracle/product/19.10.0.0.210119/rdbms/public -I/OPT/oracle/product/19.10.0.0.210119/plsql/public -I/OPT/oracle/product/19.10.0.0.210119/network/public -maix64 -g -W -Wall -fdollars-in-identifiers execute_sqlldr.c
    In file included from execute_sqlldr.c:27:
    /opt/freeware/lib/gcc/powerpc-ibm-aix7.2.0.0/8/include-fixed/stdlib.h:341:25: error: unknown type name 'exit'; did you mean 'ext_t'?
    extern _NORETURN(void, exit)(int);
    ^~~~
    ext_t

    pourtant j'ai les include suivants :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    #include <stdio.h>
    #include <stdnoreturn.h>   /* je viens de l'ajouter mais sans résultat */
    #include <stdlib.h>
    #include <sys/wait.h>

    pouvez-vous m'aider ?

    pour l'instant, pour compiler je dois ajouter aux option du gcc
    -U__STDC_VERSION__
    Merci
    Michel
    Zephyrin

  2. #2
    Membre expérimenté
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juillet 2020
    Messages
    352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Juillet 2020
    Messages : 352
    Points : 1 376
    Points
    1 376
    Par défaut
    bonjour,
    bienvenu dans le XXI ème siècle 10 ans après la sortie de C11, quelques temps avant C23 … donc ton code est fonctionnel en C99 mais pas C11 ? Tu es certain de cela ?
    Sinon il faut voir ce qu'est la macro _NORETURN …

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 40
    Points : 45
    Points
    45
    Par défaut
    Bonjour,
    oui je suis absolument certain que mon code est bon.
    Il compilait et s'exécutait avant le PM...
    Je ne comprends pas pourquoi lors de la compilation, l'erreur est sur la ligne
    de mon fichier source...

    et dans le fichier stdlib.h, l'erreur est ici :
    /opt/freeware/lib/gcc/powerpc-ibm-aix7.2.0.0/8/include-fixed/stdlib.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    339         extern void     *realloc(void *, size_t);
    340 #if (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L)) || __cplusplus >= 201103L
    341         extern _NORETURN(void, exit)(int);
    342 #else
    343         extern void exit(int);
    344 #endif
    345         extern char     *getenv(const char *);
    impossible de trouver le code de la macro
    Zephyrin

  4. #4
    Membre émérite
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Points : 2 724
    Points
    2 724
    Billets dans le blog
    1
    Par défaut
    Tu as vérifié que les package de dépendance sont bien a jour sur le système aussi?

    Il est probable que tu ais un gcc récent qui compile sur une vieille dépendance de la libc, ce qui pourrait poser problème.

    Ou que tu ais les deux en parallèle et qu'il prenne la mauvaise, ou l'inverse (vieux gcc avec nouvelle libc)
    Pas de solution, pas de probleme

    Une réponse utile (ou +1) ->
    Une réponse inutile ou pas d'accord -> et expliquer pourquoi
    Une réponse à votre question


Discussions similaires

  1. Réponses: 5
    Dernier message: 22/10/2013, 22h48
  2. Erreur 0 sur une macro excel depuis le passage à EXCEL 2010
    Par Lutin1801 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/01/2013, 11h41
  3. Passage de 2003 à 2010, Quelques erreurs de compilation
    Par tytyxam dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 10/10/2011, 10h22
  4. Réponses: 3
    Dernier message: 22/09/2009, 16h29
  5. erreur de segmentation depuis passage a OO
    Par hansaplast dans le forum C++
    Réponses: 15
    Dernier message: 27/04/2006, 12h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo