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 compilation sous Mac Os Catalina


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 50
    Par défaut Erreur de compilation sous Mac Os Catalina
    Bonjour,
    après la mise à jour de mon mac vers Mac Os Catalana (10.15.4), j'essaie de compiler normalement un projet open-source qui marchait avant la mise à jour avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    g++-9  -c test_cmake.cpp   -I /Download/project/include -I /usr/local/include -I /Downloads/trimesh2/include/ -I /Downloads/armadillo-6.400.3/include/ -I /usr/X11R6/include -I /Downloads/project/include  -o test_cmake.o
    Avec cette instruction j'obtiens beaucoup d'erreurs telles que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /usr/local/include/string.h:145:67: error: expected initializer before '__OSX_AVAILABLE_STARTING' 145 | errno_t memset_s(void *__s, rsize_t __smax, int __c, rsize_t __n)* __OSX_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_7_0);
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    /usr/local/include/sys/stdio.h:39:56: error: expected initializer before
    *'__OSX_AVAILABLE_STARTING' 39 | int**** renameat(int, const char *, int, const char.*** *) __OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_8_0);
    **|******************************************************* ^~~~~~~~~~~~~~~~~~~~~~~~
    Je ne sais pas pourquoi j'obtiens de telles erreurs en utilisant g++ installé avec l'utilitaire Homebrew.

    Merci d'avance pour votre aide.

  2. #2
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 493
    Billets dans le blog
    1
    Par défaut
    Salut !

    On pourrait voir le contenu de test_cmake.cpp ?

    g++ --version dans le terminal renvoie quoi ?

  3. #3
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 18 281
    Par défaut
    Catalina ne supporte plus les applis 32 bits. Si ton g++ installé par homebrew est en 32 bits, c'est l'explication.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 50
    Par défaut
    Citation Envoyé par chrtophe Voir le message
    Catalina ne supporte plus les applis 32 bits. Si ton g++ installé par homebrew est en 32 bits, c'est l'explication.
    Merci pour votre réponse.
    Je ne pense pas que ca provienne de ca, car lorsque je fais g++-9 --version. , j 'obtiens cela :
    g++-9 (Homebrew GCC 9.3.0_1) 9.3.0
    Copyright (C) 2019 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions. There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

    il n'y a pas la mention de 32 biTs..

  5. #5
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 18 281
    Par défaut
    Je ne pense pas que ca provienne de ca
    Finalement je ne pense pas non plus, car il n'y aurait même pas le message de version avec une version 32 bits.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  6. #6
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Salut,

    La seule et unique erreur qui pourra nous aider les la toute première, car les autres ne sont souvent que la conséquence d'une "perte de pédales" de la part du compilateur.

    Du moins, les deux erreurs que tu nous montre sont-elles clairement dans le cas.

    L'idéal reste malgré tout de faire un copier coller de l'ensemble des erreurs affichées, car il se peut que plusieurs erreurs soient présentes

    De plus, comme le seul fichier propre à ton projet auquel on trouve une référence dans cmake_test.cpp, c'est le fichier core/MeshDataSource.h, il semble "logique" de commencer nos intestigations à partir de là, car la bibliothèque standard a beau avoir beaucoup de problèmes, on ne peut pas dire qu'elle laisse trainer des problèmes qui l'empêche d'être utilisée (correctement)

    Pourrais tu, s'il te plait, nous fournir le code de ce fichier
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  7. #7
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 50
    Par défaut
    Citation Envoyé par Bktero Voir le message
    Salut !

    On pourrait voir le contenu de test_cmake.cpp ?

    g++ --version dans le terminal renvoie quoi ?
    Merci pour votre réponse.
    La commande: g++-9 --version renvoie ceci :
    g++-9 (Homebrew GCC 9.3.0_1) 9.3.0
    Copyright (C) 2019 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions. There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


    Mon test_cmake.cpp contient le main comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    #include "core/MeshDataSource.h" //fichier source du projet
    #include <iostream>
     
    int main()
    {
     MeshDataSource<double> MDS; //déclaration d'un objet de type MeshDataSource
     
    return0;
    }
    je pense que cette erreur pourrait aider à déceler le problème ? :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    /Users/anass/Documents/projet/non_virtual_asgard/include/core/MeshDataSource.h:326:20:   required from here
    /usr/local/Cellar/gcc/9.3.0_1/include/c++/9.3.0/ostream:691:5: error: no type named 'type' in 'struct std::enable_if<false, void>'
    ou cette erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    /Users/anass/Documents/projet/non_virtual_asgard/include/core/MeshDataSource.h:337:21: error: no match for 'operator<<' (operand types are 'std::ofstream' {aka 'std::basic_ofstream<char>'} and 'const char [3]')

Discussions similaires

  1. Erreur de compilation sous TeXnicCenter
    Par gregosss dans le forum Erreurs - Avertissements
    Réponses: 8
    Dernier message: 09/11/2007, 21h46
  2. [DEV] Compilation sous Mac OS
    Par RIPS78 dans le forum Apple
    Réponses: 7
    Dernier message: 05/10/2007, 02h47
  3. Réponses: 4
    Dernier message: 10/07/2006, 19h23
  4. erreur de compilation sous linux
    Par petdelascar dans le forum C
    Réponses: 11
    Dernier message: 21/12/2005, 20h10
  5. erreur de compilation sous DEV-C++
    Par felicity dans le forum C
    Réponses: 5
    Dernier message: 19/12/2005, 19h59

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