#1 Le 07/06/2013, à 22:49
- ParadoxEd
[C++] Linker et bibliothèques standard avec Netbeans
Bonsoir,
Ayant déjà développé sous Linux en ligne de commande, je souhaitais essayer Netbeans (que j'avais déjà utilisé sous Windows) mais j'ai un problème lors de la compilation ; je m'explique : je veux me servir de la librairie CImg, qui utilise la librairie standard X11 pour la génération de fenêtre. La FAQ de CImg précise qu'il faut compiler avec ces options : "-O2 -L/usr/X11R6/lib -lm -lpthread -lX11"
Pour que ça compile correctement, normalement il faut ajouter "-L/usr/lib/x86_64-linux-gnu -L/usr/X11R6/lib -lX11 -lpthread -lm" aux options passées à GCC. (Options que j'ai ajouté au compilo dans Netbeans).
J'ai ajouté dans les options du linker, la librairie "POSIX thread" (qui correspond à pthread si j'ai bien compris) et "motif" (qui correspond à X11 j'imagine) ainsi que "Mathematics" pour "-lm".
Lors de la compilation avec Netbeans, j'obtiens ça :
g++ -m64 -L/usr/lib/x86_64-linux-gnu -L/usr/X11R6/lib -lX11 -lpthread -lm -o dist/Debug/GNU-Linux-x86/cimg_test build/Debug/GNU-Linux-x86/main.o -lm -lXm -lXt -lXext -lX11 -lpthread
/usr/bin/ld: cannot find -lXm
collect2: ld a retourné 1 code d'état d'exécution
Normalement ça devrait le faire... Quelqu'un aurait une idée ?
Petite remarque, en ligne de commande, pas de problème pour compiler.
Seconde remarque : Il n'y a pas moyen de spécifier à Netbeans d'ajouter l'option dpkg aux makefiles créés par, Netbeans pour qu'il "trouve tout seul" les librairies nécessaires (sachant qu'elles sont installées). ?
Dernière modification par ParadoxEd (Le 07/06/2013, à 23:14)
Hors ligne
#2 Le 08/06/2013, à 12:06
- Braun
Re : [C++] Linker et bibliothèques standard avec Netbeans
Bonjour,
Comme dit dans un autre fil "à Linux rien d'impossible".
Je ne connais pas Netbeans, mais je serais étonné qu'il ne soit pas faisable
soit de modifier son Makefile a la mano,
soit d'y inclure une macro du genre dpkg.
On m'a appris que ce qui fonctionne en ligne de commande doit être reproductible sur un GUI.
Hors ligne
#3 Le 08/06/2013, à 12:12
- ParadoxEd
Re : [C++] Linker et bibliothèques standard avec Netbeans
En effet, si ça marche en ligne de commande, il n'y a pas de raison.
Par contre, c'est vrai que je préférerais éviter de changer mon makefile "à la main", pour me permettre également de comprendre comment les options de Netbeans impactent (ou non) le makefile.
N'empêche, sur le principe, je trouve ça "choquant" qu'un IDE soit moins pratique à utiliser que de faire les choses directement ; un peu comme si c'était plus simple de construire sa maison, que d'en acheter une faite par un promoteur...
Edit : Je viens de trouve que Motif correspond à ces librairies (-lXm -lXt -lXext -lX11), donc normalement, ça devrait aller... D'autant que sauf erreur de ma part, le chemin vers ces librairies est censé être renseigné pour g++...
Dernière modification par ParadoxEd (Le 08/06/2013, à 12:30)
Hors ligne