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

QxOrm Discussion :

Compilation avec Clang sous OS X


Sujet :

QxOrm

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 151
    Points : 49
    Points
    49
    Par défaut Compilation avec Clang sous OS X
    Hello,

    J'essaie de compiler QxOrm sous macos avec la dernière version de xcode, je crois qu'il y a vraiment un souci car je n'ai pas de souci avec clang darwin12
    Ma version de clang:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    clang++ --version
    Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
    Target: x86_64-apple-darwin13.1.0
    Thread model: posix
    J'ai compilé boost avec ces flags:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ./b2 -j9 --link=shared --threading=multi --runtime-link=shared --toolset=clang
    Voici l'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Undefined symbols for architecture x86_64:
      "boost::archive::text_iarchive_impl<boost::archive::text_iarchive>::load(std::string&)", referenced from:
          void boost::serialization::qx_load<boost::archive::text_iarchive>(boost::archive::text_iarchive&, QByteArray&, unsigned int) in QxSerialize_QByteArray.o
          boost::archive::detail::iserializer<boost::archive::text_iarchive, std::pair<std::string, QVariant> >::load_object_data(boost::archive::detail::basic_iarchive&, void*, unsigned int) const in QxSerialize_QObject.o
          void boost::serialization::qx_serialize_qstring<true>::load<boost::archive::text_iarchive>(boost::archive::text_iarchive&, QString&, unsigned int) in QxSerialize_QString.o
      "boost::archive::text_iarchive_impl<boost::archive::text_iarchive>::text_iarchive_impl(std::istream&, unsigned int)", referenced from:
          qx::QxArchive<qx::service::QxTransaction, boost::archive::text_iarchive, boost::archive::text_oarchive>::fromByteArray(qx::service::QxTransaction&, QByteArray const&, unsigned int) in QxTools.o
      "boost::archive::text_oarchive_impl<boost::archive::text_oarchive>::save(std::string const&)", referenced from:
          boost::archive::basic_text_oarchive<boost::archive::text_oarchive>::save_override(boost::archive::class_name_type const&, int) in QxExportDllBoostArchive.o
          boost::serialization::save(boost::archive::text_oarchive&, QByteArray const&, unsigned int) in QxSerialize_QByteArray.o
          boost::archive::detail::oserializer<boost::archive::text_oarchive, std::pair<std::string, QVariant> >::save_object_data(boost::archive::detail::basic_oarchive&, void const*) const in QxSerialize_QObject.o
          void boost::serialization::qx_serialize_qstring<true>::save<boost::archive::text_oarchive>(boost::archive::text_oarchive&, QString const&, unsigned int) in QxSerialize_QString.o
          boost::archive::basic_text_oarchive<boost::archive::text_oarchive>::save_override(boost::archive::class_name_type const&, int) in QxTools.o
      "boost::archive::text_oarchive_impl<boost::archive::text_oarchive>::text_oarchive_impl(std::ostream&, unsigned int)", referenced from:
          qx::QxArchive<qx::service::QxTransaction, boost::archive::text_iarchive, boost::archive::text_oarchive>::toByteArray(qx::service::QxTransaction const&, std::string*, unsigned int) in QxTools.o
    ld: symbol(s) not found for architecture x86_64
    Qu'en penses-tu ?

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Avril 2010
    Messages
    481
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 481
    Points : 4 238
    Points
    4 238
    Par défaut


    Voici ma version de Clang avec laquelle je teste QxOrm sous Mac OS X et compile l'application QxEntityEditor (basée sur QxOrm) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    clang++ --version
    Apple LLVM version 4.2 (clang-425.0.24) (based on LLVM 3.2svn)
    Target: x86_64-apple-darwin12.2.0
    Thread model: posix
    Est-ce que tu es certain de pointer sur la bonne bibliothèque boost que tu as compilé ?
    Franchement, je ne pense pas que ce soit un problème de version de Clang.
    Le site de la bibliothèque QxOrm : bibliothèque C++ de gestion de données (Mapping Objet Relationnel ou ORM) basée sur les frameworks Qt et boost.
    QxEntityEditor : éditeur graphique pour la bibliothèque QxOrm (application multi-plateforme pour gérer graphiquement le modèle d'entités).

    Tutoriel : installer un environnement de développement avec QxOrm sous Windows.
    Tutoriel qxBlog : gestion de blogs en C++/Qt.
    Tutoriel qxClientServer : création d'un serveur d'applications en C++/Qt.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 151
    Points : 49
    Points
    49
    Par défaut
    Je vais voir ça, c'est plutôt étrange...

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 151
    Points : 49
    Points
    49
    Par défaut
    Rien n'y fait, j'ai beau compiler et pointer vers la bonne lib, ça ne fonctionne pas...

    Ah ! C'est peut être ma version de Qt qui n'a pas été compilée avec clang...

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 151
    Points : 49
    Points
    49
    Par défaut
    Non, ce n'est pas un pb avec Qt... Je ne sais pas quoi faire de plus :S

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Avril 2010
    Messages
    481
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 481
    Points : 4 238
    Points
    4 238
    Par défaut
    Désolé, c'est compliqué de t'aider sur ce sujet, je n'ai pas le temps de monter un environnement avec les toutes dernières versions pour essayer de reproduire ton problème.

    Dans ton 1er post, tu as écris : je n'ai pas de souci avec clang darwin12
    Tu n'as pas moyen de revenir dans cette config ?
    Le site de la bibliothèque QxOrm : bibliothèque C++ de gestion de données (Mapping Objet Relationnel ou ORM) basée sur les frameworks Qt et boost.
    QxEntityEditor : éditeur graphique pour la bibliothèque QxOrm (application multi-plateforme pour gérer graphiquement le modèle d'entités).

    Tutoriel : installer un environnement de développement avec QxOrm sous Windows.
    Tutoriel qxBlog : gestion de blogs en C++/Qt.
    Tutoriel qxClientServer : création d'un serveur d'applications en C++/Qt.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 151
    Points : 49
    Points
    49
    Par défaut
    Ok, je vais voir ça, merci quand même

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 151
    Points : 49
    Points
    49
    Par défaut
    Une piste potentielle (je vais analyser):
    D'après ce site:
    https://github.com/bitcoin/bitcoin/issues/3228

    this seems to be an issue with boost and clang on os x:

    https://svn.boost.org/trac/boost/ticket/7473
    #3228

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 151
    Points : 49
    Points
    49
    Par défaut
    Ok ! C'était pas évident, mais j'ai fini par trouver. Il faut compiler boost avec ces options (avec la dernière version de macos 10.9.1):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ./bootstrap.sh toolset=clang
    ./b2 -j9  --toolset=clang threading=multi link=shared runtime-link=shared cxxflags="-stdlib=libstdc++ -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk" linkflags="-stdlib=libstdc++ -Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk"

  10. #10
    Expert confirmé

    Profil pro
    Inscrit en
    Avril 2010
    Messages
    481
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 481
    Points : 4 238
    Points
    4 238
    Par défaut
    Ok ! C'était pas évident, mais j'ai fini par trouver.


    Merci pour toutes ces infos, ça pourra aider d'autres personnes avec la même problématique que toi.
    Le site de la bibliothèque QxOrm : bibliothèque C++ de gestion de données (Mapping Objet Relationnel ou ORM) basée sur les frameworks Qt et boost.
    QxEntityEditor : éditeur graphique pour la bibliothèque QxOrm (application multi-plateforme pour gérer graphiquement le modèle d'entités).

    Tutoriel : installer un environnement de développement avec QxOrm sous Windows.
    Tutoriel qxBlog : gestion de blogs en C++/Qt.
    Tutoriel qxClientServer : création d'un serveur d'applications en C++/Qt.

  11. #11
    Expert confirmé

    Profil pro
    Inscrit en
    Avril 2010
    Messages
    481
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 481
    Points : 4 238
    Points
    4 238
    Par défaut
    Pour information, un autre utilisateur a eu la même problématique, mais il a résolu d'une autre façon (sans avoir à recompiler boost) :
    Il suffit d'ajouter "QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.9" au fichier *.pro (ou bien dans le fichier QxOrm.pri).
    En cas de problème en mode release, ajouter également : "macx:QMAKE_MAC_SDK=macosx10.9".

    Pour plus de détails sur le sujet : https://qt-project.org/forums/viewthread/35646
    Le site de la bibliothèque QxOrm : bibliothèque C++ de gestion de données (Mapping Objet Relationnel ou ORM) basée sur les frameworks Qt et boost.
    QxEntityEditor : éditeur graphique pour la bibliothèque QxOrm (application multi-plateforme pour gérer graphiquement le modèle d'entités).

    Tutoriel : installer un environnement de développement avec QxOrm sous Windows.
    Tutoriel qxBlog : gestion de blogs en C++/Qt.
    Tutoriel qxClientServer : création d'un serveur d'applications en C++/Qt.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Compilé avec VC++ sous vista avec sdl (bug)
    Par Narkoleptik dans le forum Visual C++
    Réponses: 3
    Dernier message: 06/03/2007, 18h47
  2. [Cal3D] Problème de compilation avec Cal3D sous windows
    Par nicoenz dans le forum Moteurs 3D
    Réponses: 2
    Dernier message: 15/11/2006, 09h46
  3. Réponses: 5
    Dernier message: 09/04/2006, 19h02
  4. [débutant]compiler avec gcc sous linux
    Par Ickou dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 10/03/2006, 17h27
  5. Problemes de compilation avec g++ sous linux
    Par Selimmel dans le forum Autres éditeurs
    Réponses: 3
    Dernier message: 19/09/2003, 13h43

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