Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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