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 :

Cible d'installation sous Linux


Sujet :

QxOrm

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

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

    Informations forums :
    Inscription : Février 2012
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Cible d'installation sous Linux
    Bonjour,

    j'ai commencé à utiliser QxOrm récemment sous Linux. Est-ce possible qu'il n'y ait pas de cible d'installation qui déposerait les binaires et les headers dans /usr/local/[include,lib] par exemple?

    Philippe

  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


    Est-ce possible qu'il n'y ait pas de cible d'installation qui déposerait les binaires et les headers dans /usr/local/[include,lib] par exemple?
    Désolé, je ne comprends pas trop ta question !
    C'est quoi une cible d'installation ?

    Pour info, je ne suis pas un expert Linux, loin de là
    Pour vérifier que la bibliothèque QxOrm est compatible avec Linux, voici ce que je fais :
    1- j'extrais le ZIP de la bibliothèque QxOrm dans mon dossier Home ;
    2- je modifie le fichier QxOrm.pri pour indiquer les chemins de boost ;
    3- je lance les scripts gcc_build_all_debug.sh et gcc_build_all_release.sh pour tout compiler (bibliothèque + tous les exemples de test) ;
    4- je vais dans le dossier ./test/_bin/ puis je fais export LD_LIBRARY_PATH=... pour pouvoir exécuter tous les exemples ;
    5- j'exécute chacun des exemples, si pas d'assert => alors c'est ok.

    Tu vois je ne mets rien dans /usr/local/[include,lib].
    Je ne sais pas si ça répond à ta question mais voici comment je procède sous Linux (Ubuntu dans mon cas).
    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
    Ingénieur développement logiciels
    Inscrit en
    Février 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

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

    Informations forums :
    Inscription : Février 2012
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par QxOrm Voir le message


    Désolé, je ne comprends pas trop ta question !
    C'est quoi une cible d'installation ?
    Une cible d'installation sert tout simplement à installer la bibliothèque vers un répertoire d'installation. Par exemple, sous Windows les fichiers sont généralement déposés dans C:\Program Files\<Application>, et sous Linux ils se retrouvent généralement dans /usr/local/(lib, include). En mode de développement d'une bibliothèque il est beaucoup plus facile de travailler directement dans le répertoire des sources. Par contre, en mode "production", on fait généralement un "install" d'une version stable, ce qui copie uniquement les fichiers d'entête et les fichiers binaires vers un répertoire différent. En d'autres mots, la cible "install" fait le travail d'un installateur, mais en version simplifiée.

    Sous Linux, cela a l'avantage que les applications utilisant QxOrm n'ont pas à forcer un path vers les fichiers d'entête et les fichiers de la bibliothèque dynamique. En effet, lorsqu'ils se trouvent dans un path "standard" comme /usr/local, alors la plupart des compilateurs trouvent par eux-mêmes la dépendance.

    Qmake fournit certaines fonctionnalités à cet effet, même si c'est assez limité (voir http://doc.qt.nokia.com/4.7-snapshot....html#installs). Pour ajouter cette fonctionnalité à QxOrm, vous n'avez qu'à ajouter ceci à la fin du fichier QxOrm.pro:

    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
    ###################
    # Install target  #
    ###################
     
    unix {
        INSTALL_PREFIX = /usr/local
        target.path    = $$INSTALL_PREFIX/lib
        headers.path   = $$INSTALL_PREFIX/include/qxorm
    }
     
    win32 {
        # Attention: le path d'installation ne doit pas contenir d'espace
        # Voir bug: https://bugreports.qt-project.org/browse/QTBUG-17894
        INSTALL_PREFIX = C:/QxOrm
        target.path    = $$INSTALL_PREFIX/lib
        headers.path   = $$INSTALL_PREFIX/include
    }
     
    headers.files = include/*
    INSTALLS = target headers
    Utilisation sous Windows
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    qmake
    nmake release
    nmake release-install
    À la fin, vous aurez l'arborescence suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    C:\QxOrm\include\{QxOrm.h, ...}
    C:\QxOrm\lib\{QxOrm.lib, QxOrm.dll}
    Utilisation sous Linux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    qmake
    make release
    sudo make release-install
    À la fin, vous aurez l'arborescence suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    /usr/local/include/qxorm/{QxOrm.h, ...}
    /usr/local/lib/{libQxOrm.so, libQxOrm.so.1.2.2, ...}

  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
    Merci pour ces infos !
    Je ne travaille effectivement pas comme ca mais comprends que ca peut etre interessant, surtout sous linux.
    Je testerai tout ca pour eventuellement l ajouter pour la prochaine version...
    Merci !

    EDIT : fonctionnalité dispo à partir de la version 1.2.3 pour les systèmes Unix.
    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. Creation d'un installer sous linux ?
    Par MonsieurAk dans le forum Linux
    Réponses: 3
    Dernier message: 05/05/2006, 20h16
  2. Installation sous Linux
    Par Giovanny Temgoua dans le forum Installation
    Réponses: 10
    Dernier message: 26/02/2006, 12h22
  3. Attaquer une base Oracle installée sous linux
    Par lessoy dans le forum Oracle
    Réponses: 1
    Dernier message: 13/10/2005, 13h54
  4. Installation sous Linux (Debian)
    Par nauw dans le forum Général Java
    Réponses: 2
    Dernier message: 24/09/2004, 13h47

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