* Thi�baud Weksteen <[EMAIL PROTECTED]> [2005-05-03 17:38] : > Bonjour, > > Je d�sire compiler une application utilisant la librairie Qt. > Cependant, j'ai besoin � la fois du fichier > d'entete "qgl.h" pour integrer OpenGL � Qt et de la librairie "libqt.so". > Le probl�me est que le premier fichier est contenu dans le paquet > libqt3-mt-dev, le second dans libqt3-dev et bien evidemment ces 2 > paquets sont incompatibles entre eux ( l'un desinstalle l'autre et > vice-versa). > Comment faire pour d�passer ce probl�me ?
Il faut aller lire les descriptions des paquets : Package: libqt3-mt-dev Description: Qt development files (Threaded) Qt is a C++ class library optimized for graphical user interface development. This package contains the libqt-mt.so symlink, necessary for building threaded Qt applications as well as the libqui.so symlink and the necessary header files for libqui.so. (See README.Debian and the Qt Documentation for instructions on libqui.so) [...] Package: libqt3-dev Qt is a C++ class library optimized for graphical user interface development. This package contains libqt-mt.so symlink, necessary for building threaded Qt applications. . WARNING: The nonthreaded version of Qt3 is considered deprecated and may disappear anytime in the future. Please use libqt3-mt-dev instead (Read README.Debian for instructions). [...] A priori, il faut donc privil�gier la version mt (multi-thread�). Ensuite, on va lire le fichier README.Debian comme indiqu� (apr�s avoir install� libqt3-mt-dev) et : The Qt packages itself are built in two different versions: dynamic non-threaded and threaded. Each of these builds have specific differences that you need to watch out for. The Qt package for Debian is optimized on working with the threaded version, so application developers are advised to use libqt-mt.so (by installing libqt3-mt-dev) for development. The specific configuration differences are: a) non-threaded(shared library) The non-threaded library has some restrictions for the developer of Qt applications, where some are Debian specific and some Qt specific: - the library is called libqt.so and is placed under /usr/lib. - the plugins built with this version are always using the extension <plugin>-non-mt.so, to indicate that they are to be used with the non-mt (multithreaded) version. The plugins itself will install into the same directory where the threaded version is placing its plugins too, so that applications will all find the Qt plugins independed of the version of Qt that they make use of. - Qt OpenGL is not supported in the non-threaded version due to the fact that OpenGL on Debian is built threaded. If you write any program that you explicitely link against -lqt and that does make use of the QGL classes, you will get symbol referencing errors. Change the linking stage to link your application against the threaded version,-lqt-mt. - The libqui library is not available for non-threaded programs. That means in case a program that links against the non-threaded Qt library (-lqt) and is also linking against libqui.so (-lqui) will not link. Instead, change the linking of the program to -lqt-mt -lqui to make that work. For other notes, see c) common build configuration. b) threaded (shared library) The threaded library version is the one supporting the maximum of Qt's options and is to be preferred by application developers. The reasons for that are mainly that it allows the use of threading as well as OpenGL, in addition to that the project that makes the most use out of Qt, the KDE project (http://www.kde.org) uses the threaded version by default also. That means that a KDE user always already has the threaded library loaded in his machine's memory. To have the minimum demands and maximum performance for your application at run-time for the user's machine, it is therefore best to link the application against the threaded version. NB: for Debian package maintainers: If the Qt application you are building links against -lqt, change the Makefiles in a way that it links against -lqt-mt. Contact the author of the application you package to change the linking from -lqt to -lqt-mt (because all other distributions are doing the same, defaulting on the threaded version). The library itself is called libqt-mt.so and is to be found under /usr/lib. Un peu long, mais tu as l'int�gralit� de l'explication concernant la pr�sence de qgl.h dans un fichier et dans l'autre ainsi que sur la diff�rence entre les 2 paquets : il faut que tu adaptes le programme � compiler pour qu'il soit li� avec libqui.so au lieu de libqt.so. Fred -- Comment poser les questions de mani�re intelligente�? http://www.gnurou.org/documents/smart-questions-fr.html Comment signaler efficacement un bug�? http://www.chiark.greenend.org.uk/~sgtatham/bugs-fr.html -- Pensez � lire la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Pensez � rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:" To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

