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
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
Désolé, je ne comprends pas trop ta question !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?
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.
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:
Utilisation sous Windows
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
À la fin, vous aurez l'arborescence suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 qmake nmake release nmake release-install
Utilisation sous Linux
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 C:\QxOrm\include\{QxOrm.h, ...} C:\QxOrm\lib\{QxOrm.lib, QxOrm.dll}
À la fin, vous aurez l'arborescence suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 qmake make release sudo make release-install
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, ...}
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.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager