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 :

QxOrm 1.2.6 et 1.2.5 - problème de compilation


Sujet :

QxOrm

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Décembre 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 5
    Points : 1
    Points
    1
    Par défaut QxOrm 1.2.6 et 1.2.5 - problème de compilation
    Bonjour,

    J'ai un problème avec le compilation de QxOrm:

    j'ai visual C++ 2012 et je lance l'environnement de compilation 64bits avec vcvarsx86_amd64.bat. J'ai téléchargé boost 1.55, j'ai lancé bootstrap.bat puis b2 (donc paramétrage standard de boost)
    Ensuite, j'ai modifié QxOrm.pri en mettant les bons paths, je n'ai rien changé aux defines, et au linking time, j'ai cette erreur, entres autres de même type:

    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
    17
    18
    19
    20
     
    QxSerialize_QObject.obj : error LNK2019: symbole externe non résolu "__declspec(
    dllimport) public: static bool __cdecl boost::archive::detail::archive_serialize
    r_map<class boost::archive::binary_oarchive>::insert(class boost::archive::detai
    l::basic_serializer const *)" (__imp_?insert@?$archive_serializer_map@Vbinary_oa
    rchive@archive@boost@@@detail@archive@boost@@SA_NPEBVbasic_serializer@234@@Z) ré
    férencé dans la fonction "public: __cdecl boost::archive::detail::pointer_oseria
    lizer<class boost::archive::binary_oarchive,class QObject>::pointer_oserializer<
    class boost::archive::binary_oarchive,class QObject>(void)" (??0?$pointer_oseria
    lizer@Vbinary_oarchive@archive@boost@@VQObject@@@detail@archive@boost@@QEAA@XZ)
    QxSerialize_QObject.obj : error LNK2019: symbole externe non résolu "__declspec(
    dllimport) public: static void __cdecl boost::archive::detail::archive_serialize
    r_map<class boost::archive::binary_oarchive>::erase(class boost::archive::detail
    ::basic_serializer const *)" (__imp_?erase@?$archive_serializer_map@Vbinary_oarc
    hive@archive@boost@@@detail@archive@boost@@SAXPEBVbasic_serializer@234@@Z) référ
    encé dans la fonction "public: __cdecl boost::archive::detail::pointer_oserializ
    er<class boost::archive::binary_oarchive,class QObject>::~pointer_oserializer<cl
    ass boost::archive::binary_oarchive,class QObject>(void)" (??1?$pointer_oseriali
    zer@Vbinary_oarchive@archive@boost@@VQObject@@@detail@archive@boost@@QEAA@XZ)
    release\QxOrm.dll : fatal error LNK1120: 6 externes non résolus
    Que faire ?

    Ma version de qt:
    http://download.qt-project.org/offic...64-offline.exe

    Ma version de boost est celle disponible sur le site de boost (bz2).
    Merci

  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


    Il y a un tutoriel disponible pour installer un environnement de développement sous Windows avec MSVC++ 2012 : http://www.qxorm.com/qxorm_fr/tutorial_3.html

    Comme tu as déjà installé MSVC++ 2012, suivre ce tutoriel devrait te prendre 15min max
    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
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Décembre 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Je vous remercie, mais je sais comment installer boost et qt. Et en voyant l'erreur, il est clair que ce n'est pas un problème d'installation.

    Je pense que ça vient du QxPrecompiledHeader.h qui fait un undef sur BOOST_EXPORTDLL.

  4. #4
    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
    Dans le tutoriel, il y a un package boost disponible (c'est la version 1.54).
    Essaye de suivre le tutoriel, si ça fonctionne (et ça fonctionnera !), c'est ta compilation de boost qui a un soucis...
    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.

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Décembre 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Ok, mais ce qui m'intéresse, c'est la version de boost officielle, à savoir la 1.55 depuis le site de boost.

    Si ça fonctionne qu'avec celle que tu fournis, alors il y a un problème.

  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
    Le package boost que je propose est la version officielle sans aucune modification de ma part, il s'agit de la version 1.54. La seule chose, c'est que boost est déjà compilé pour MSVC++ 2008, MSVC++ 2010, MSVC++ 2012 (32b et 64b) et MinGW GCC 4.5.

    De plus, à la racine de mon package il y a un fichier txt qui décrit la façon dont boost a été compilé.

    Je ferai certainement la même chose pour boost 1.55, mais pour le moment, c'est la version précédente que je propose (par faute de temps).
    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
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Décembre 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Ok, je comprends mieux avec le .txt

    Je vais tester ça, mais je pense qu'il faudrait ajouter la ligne de compilation dans le tutorial

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Décembre 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2013
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    C'est effectivement un problème de flag à la compilation de boost

    Par défaut boost est compilé en statique, il faut donc lui indiquer qu'on veut le compiler en shared. Le mieux est effectivement de suivre la ligne de compilation que tu donnes.

    Merci !

  9. #9
    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
    C'est effectivement un problème de flag à la compilation de boost.

    Par défaut boost est compilé en statique, il faut donc lui indiquer qu'on veut le compiler en shared. Le mieux est effectivement de suivre la ligne de compilation que tu donnes.

    Merci !


    je pense qu'il faudrait ajouter la ligne de compilation dans le tutorial
    Oui c'est une bonne idée, je le ferai...
    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. Le forum QxOrm
    Par arnolddumas dans le forum QxOrm
    Réponses: 0
    Dernier message: 08/03/2011, 19h10
  2. Réponses: 1
    Dernier message: 07/03/2011, 11h50

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