Image appended;
appendImages( &appended, imageList.begin(), imageList.end() );
appended.write( "appended_image.miff" );
return 0;
}
Rien de bien méchant, sommes toutes.
Mais lorsque j'essaie de le compiler à l'aide la ligne suivante :
$ g++ essai.cpp
GCC me retourne les messages :
/tmp/ccYyxmBf.o: In function `main':
essai.cpp:(.text+0x9f): undefined reference to `Magick::Image::Image()'
essai.cpp:(.text+0x145): undefined reference to
`Magick::Image::write(std::basic_string<char, std::char_traits<char>,
std::allocator<char> > const&)'
essai.cpp:(.text+0x19a): undefined reference to `Magick::Image::~Image()'
essai.cpp:(.text+0x1d2): undefined reference to `Magick::Image::~Image()'
/tmp/ccYyxmBf.o: In function
`__gnu_cxx::new_allocator<Magick::Image>::construct(Magick::Image*,
Magick::Image const&)':
essai.cpp
(.text._ZN9__gnu_cxx13new_allocatorIN6Magick5ImageEE9constructEPS2_RKS2_[__gnu_cxx::new_allocator<Magick::Image>::construct(Magick::Image*,
Magick::Image const&)]+0x38): undefined reference to
`Magick::Image::Image(Magick::Image const&)' ... Et plein d'autres !
Il me semble que c'est un problème de bibliothèque et d'éditeur de liens...
Alors, afin de voir si j'avais des bibliothèques adéquates, j'ai fait :
$ aptitude search magick++ | awk '/^i/'
i imagemagick - image manipulation programs
i A libgraphicsmagick++1 - format-independent image processing -
C++
i libgraphicsmagick++1-dev - format-independent image processing -
C++
i A libgraphicsmagick1 - format-independent image processing -
C sh
i A libgraphicsmagick1-dev - format-independent image processing -
C de
i libmagick++10 - C++ API to the ImageMagick library
i libmagick++9-dev - C++ API to the ImageMagick library -
devel
i A libmagick10 - image manipulation library
i libmagick9 - Image manipulation library
i A libmagick9-dev - image manipulation library -
development f
Il semble que cela soit suffisant pour travailler.
Je me suis alors penché sur les options de GCC (-l, -L, -I,...) sans
résultat, malheureusement... La documentation GCC est très fournie et je
m'y perds un peu... Et j'ai besoin d'avancer assez vite.
J'ai tenté ça aussi, avec pas mal de variantes :
$ pkg-config --cflags --libs magick++
Package magick++ was not found in the pkg-config search path.
Perhaps you should add the directory containing `magick++.pc'
to the PKG_CONFIG_PATH environment variable
No package 'magick++' found
Mais sans résultat probant, comme on peut le voir...
J'ai un mal de chien à faire le correspondance entre les paquets debian et
le nom des bibliothèques.
Mes questions sont donc les suivantes :
- Comment faire facilement un bilan des bibliothèques installées sur le
système ?
- comment donner les bons arguments à GCC afin de pouvoir compiler l'exemple
et enfin mon programme ?
Merci pour votre aide et bon dimanche (ensoleillé j'espère !).
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Lucas Levrel
Le 17 octobre 2010, Valrik a écrit :
J'ai un mal de chien à faire le correspondance entre les paquets debian et le nom des bibliothèques.
Mes questions sont donc les suivantes : - Comment faire facilement un bilan des bibliothèques installées sur le système ?
Cette question aurait plus sa place dans fr.comp.os.linux.configuration. Il doit y avoir moyen de lister tous les fichiers d'un paquet avec aptitude je suppose. Sinon, ls /usr/lib. Ou alors utilise locate.
- comment donner les bons arguments à GCC afin de pouvoir compiler l'exemple et enfin mon programme ?
Si ton code nécessite libtoto.so, g++ code.cc -ltoto doit suffire.
-- LL
Le 17 octobre 2010, Valrik a écrit :
J'ai un mal de chien à faire le correspondance entre les paquets debian et
le nom des bibliothèques.
Mes questions sont donc les suivantes :
- Comment faire facilement un bilan des bibliothèques installées sur le
système ?
Cette question aurait plus sa place dans fr.comp.os.linux.configuration.
Il doit y avoir moyen de lister tous les fichiers d'un paquet avec
aptitude je suppose. Sinon, ls /usr/lib. Ou alors utilise locate.
- comment donner les bons arguments à GCC afin de pouvoir compiler l'exemple
et enfin mon programme ?
Si ton code nécessite libtoto.so, g++ code.cc -ltoto doit suffire.
J'ai un mal de chien à faire le correspondance entre les paquets debian et le nom des bibliothèques.
Mes questions sont donc les suivantes : - Comment faire facilement un bilan des bibliothèques installées sur le système ?
Cette question aurait plus sa place dans fr.comp.os.linux.configuration. Il doit y avoir moyen de lister tous les fichiers d'un paquet avec aptitude je suppose. Sinon, ls /usr/lib. Ou alors utilise locate.
- comment donner les bons arguments à GCC afin de pouvoir compiler l'exemple et enfin mon programme ?
Si ton code nécessite libtoto.so, g++ code.cc -ltoto doit suffire.
-- LL
Valrik
Lucas Levrel wrote:
Le 17 octobre 2010, Valrik a écrit :
J'ai un mal de chien à faire le correspondance entre les paquets debian et le nom des bibliothèques.
Mes questions sont donc les suivantes : - Comment faire facilement un bilan des bibliothèques installées sur le système ?
Cette question aurait plus sa place dans fr.comp.os.linux.configuration. Il doit y avoir moyen de lister tous les fichiers d'un paquet avec aptitude je suppose. Sinon, ls /usr/lib. Ou alors utilise locate.
bonjour Lucas, pour ce qui est des listages de fichiers (find, ls, etc..) , pas de souci, je connais. Par exemple, $ dpkg -L libmagick++10 // listage de fichiers d'un paquetage .deb me donne : /. /usr /usr/share /usr/share/doc /usr/share/doc/libmagick++10 /usr/share/doc/libmagick++10/copyright /usr/share/doc/libmagick++10/changelog.Debian.gz /usr/lib /usr/lib/libMagick++.so.10.0.9 /usr/lib/libMagick++.so.10
- comment donner les bons arguments à GCC afin de pouvoir compiler l'exemple et enfin mon programme ?
Si ton code nécessite libtoto.so, g++ code.cc -ltoto doit suffire.
J'ai due m'emmêler les pinceaux, car lorsque j'ai fait $ g++ essai.cpp -lMagick++ Tout c'est bien passé ! Je pensais l'avoir déjà fait pourtant, mais j'ai essayé tellement de choses ! Bref, merci pour le coup de main et je vais lire la documentation de gcc pendant mes longues nuits d'hivers. ;-)
Par contre j'ai toujours le problème : pkg-config --libs Magick++ Package Magick++ was not found in the pkg-config search path. Perhaps you should add the directory containing `Magick++.pc' to the PKG_CONFIG_PATH environment variable No package 'Magick++' found
Je ne comprends toujours pas le correspondances entre nom de paquetages, nom de fichiers contenus dans les paquetages et nom de bibliothèques... Peut-être sur fr.comp.os.linux.configuration, mais on y cause surtout configuration et administration, pas trop développement... Mais, il doit y avoir, si ce n'est une norme, au moins un usage de nommage afin de s'y retrouver et ne pas faire comme moi, c'est à dire par tâtonnement. Si quelqu'un à l'habitude de développer sur un plateforme linux...
Lucas Levrel wrote:
Le 17 octobre 2010, Valrik a écrit :
J'ai un mal de chien à faire le correspondance entre les paquets debian
et le nom des bibliothèques.
Mes questions sont donc les suivantes :
- Comment faire facilement un bilan des bibliothèques installées sur le
système ?
Cette question aurait plus sa place dans fr.comp.os.linux.configuration.
Il doit y avoir moyen de lister tous les fichiers d'un paquet avec
aptitude je suppose. Sinon, ls /usr/lib. Ou alors utilise locate.
bonjour Lucas,
pour ce qui est des listages de fichiers (find, ls, etc..) , pas de souci,
je connais.
Par exemple,
$ dpkg -L libmagick++10 // listage de fichiers d'un paquetage .deb
me donne :
/.
/usr
/usr/share
/usr/share/doc
/usr/share/doc/libmagick++10
/usr/share/doc/libmagick++10/copyright
/usr/share/doc/libmagick++10/changelog.Debian.gz
/usr/lib
/usr/lib/libMagick++.so.10.0.9
/usr/lib/libMagick++.so.10
- comment donner les bons arguments à GCC afin de pouvoir compiler
l'exemple et enfin mon programme ?
Si ton code nécessite libtoto.so, g++ code.cc -ltoto doit suffire.
J'ai due m'emmêler les pinceaux, car lorsque j'ai fait
$ g++ essai.cpp -lMagick++
Tout c'est bien passé ! Je pensais l'avoir déjà fait pourtant, mais j'ai
essayé tellement de choses ! Bref, merci pour le coup de main et je vais
lire la documentation de gcc pendant mes longues nuits d'hivers. ;-)
Par contre j'ai toujours le problème :
pkg-config --libs Magick++
Package Magick++ was not found in the pkg-config search path.
Perhaps you should add the directory containing `Magick++.pc'
to the PKG_CONFIG_PATH environment variable
No package 'Magick++' found
Je ne comprends toujours pas le correspondances entre nom de paquetages, nom
de fichiers contenus dans les paquetages et nom de bibliothèques...
Peut-être sur fr.comp.os.linux.configuration, mais on y cause surtout
configuration et administration, pas trop développement...
Mais, il doit y avoir, si ce n'est une norme, au moins un usage de nommage
afin de s'y retrouver et ne pas faire comme moi, c'est à dire par
tâtonnement.
Si quelqu'un à l'habitude de développer sur un plateforme linux...
J'ai un mal de chien à faire le correspondance entre les paquets debian et le nom des bibliothèques.
Mes questions sont donc les suivantes : - Comment faire facilement un bilan des bibliothèques installées sur le système ?
Cette question aurait plus sa place dans fr.comp.os.linux.configuration. Il doit y avoir moyen de lister tous les fichiers d'un paquet avec aptitude je suppose. Sinon, ls /usr/lib. Ou alors utilise locate.
bonjour Lucas, pour ce qui est des listages de fichiers (find, ls, etc..) , pas de souci, je connais. Par exemple, $ dpkg -L libmagick++10 // listage de fichiers d'un paquetage .deb me donne : /. /usr /usr/share /usr/share/doc /usr/share/doc/libmagick++10 /usr/share/doc/libmagick++10/copyright /usr/share/doc/libmagick++10/changelog.Debian.gz /usr/lib /usr/lib/libMagick++.so.10.0.9 /usr/lib/libMagick++.so.10
- comment donner les bons arguments à GCC afin de pouvoir compiler l'exemple et enfin mon programme ?
Si ton code nécessite libtoto.so, g++ code.cc -ltoto doit suffire.
J'ai due m'emmêler les pinceaux, car lorsque j'ai fait $ g++ essai.cpp -lMagick++ Tout c'est bien passé ! Je pensais l'avoir déjà fait pourtant, mais j'ai essayé tellement de choses ! Bref, merci pour le coup de main et je vais lire la documentation de gcc pendant mes longues nuits d'hivers. ;-)
Par contre j'ai toujours le problème : pkg-config --libs Magick++ Package Magick++ was not found in the pkg-config search path. Perhaps you should add the directory containing `Magick++.pc' to the PKG_CONFIG_PATH environment variable No package 'Magick++' found
Je ne comprends toujours pas le correspondances entre nom de paquetages, nom de fichiers contenus dans les paquetages et nom de bibliothèques... Peut-être sur fr.comp.os.linux.configuration, mais on y cause surtout configuration et administration, pas trop développement... Mais, il doit y avoir, si ce n'est une norme, au moins un usage de nommage afin de s'y retrouver et ne pas faire comme moi, c'est à dire par tâtonnement. Si quelqu'un à l'habitude de développer sur un plateforme linux...
Lucas Levrel
Le 17 octobre 2010, Valrik a écrit :
Par contre j'ai toujours le problème : pkg-config --libs Magick++ Package Magick++ was not found in the pkg-config search path. Perhaps you should add the directory containing `Magick++.pc' to the PKG_CONFIG_PATH environment variable No package 'Magick++' found
Le fichier Magick++.pc existe-t-il ?
Je ne comprends toujours pas le correspondances entre nom de paquetages, nom de fichiers contenus dans les paquetages et nom de bibliothèques... Peut-être sur fr.comp.os.linux.configuration, mais on y cause surtout configuration et administration, pas trop développement...
Moi je trouve que c'est de l'administration, mais bon...
-- LL
Le 17 octobre 2010, Valrik a écrit :
Par contre j'ai toujours le problème :
pkg-config --libs Magick++
Package Magick++ was not found in the pkg-config search path.
Perhaps you should add the directory containing `Magick++.pc'
to the PKG_CONFIG_PATH environment variable
No package 'Magick++' found
Le fichier Magick++.pc existe-t-il ?
Je ne comprends toujours pas le correspondances entre nom de paquetages, nom
de fichiers contenus dans les paquetages et nom de bibliothèques...
Peut-être sur fr.comp.os.linux.configuration, mais on y cause surtout
configuration et administration, pas trop développement...
Moi je trouve que c'est de l'administration, mais bon...
Par contre j'ai toujours le problème : pkg-config --libs Magick++ Package Magick++ was not found in the pkg-config search path. Perhaps you should add the directory containing `Magick++.pc' to the PKG_CONFIG_PATH environment variable No package 'Magick++' found
Le fichier Magick++.pc existe-t-il ?
Je ne comprends toujours pas le correspondances entre nom de paquetages, nom de fichiers contenus dans les paquetages et nom de bibliothèques... Peut-être sur fr.comp.os.linux.configuration, mais on y cause surtout configuration et administration, pas trop développement...
Moi je trouve que c'est de l'administration, mais bon...
-- LL
Valrik
Lucas Levrel wrote:
Le 17 octobre 2010, Valrik a écrit :
Par contre j'ai toujours le problème : pkg-config --libs Magick++ Package Magick++ was not found in the pkg-config search path. Perhaps you should add the directory containing `Magick++.pc' to the PKG_CONFIG_PATH environment variable No package 'Magick++' found
Le fichier Magick++.pc existe-t-il ?
Je ne comprends toujours pas le correspondances entre nom de paquetages, nom de fichiers contenus dans les paquetages et nom de bibliothèques... Peut-être sur fr.comp.os.linux.configuration, mais on y cause surtout configuration et administration, pas trop développement...
Moi je trouve que c'est de l'administration, mais bon...
Oui, le sujet est aux confins des deux groupes. Bon, j'ai avancé... ;-)) En lisant http://people.freedesktop.org/~dbn/pkg-config-guide.html j'ai compris que pour chaque bibliothèque il y a un fichier de configuration pkg-config dont l'extension est ".pc". Un petit $ find /usr/ -name "*.pc" -type f | more et quelques secondes plus tard je trouver un répertoire où il y en a des tas : /usr/lib/pkgconfig/. Il y en a aussi quelques uns dans /usr/share, mais il ne semble pas qu'ils concernent à proprement parlé des bibliothèques. En tous cas, il en existe un qui s'appelle /usr/lib/pkgconfig/ImageMagick++.pc. Donc, lorsque je fais :$ pkg-config --libs --cflags ImageMagick++ cela me retourne... -lMagick++ -lWand -lMagick Puissant ! Est ensuite, encore plus osé... $ g++ essai_magick++.cpp $(pkg-config --libs --cflags ImageMagick++) -o essai_magick // Pas d'erreur ! $ ls -l essai_magick* -rwxr-xr-x 1 didier didier 8693 oct 17 22:39 essai_magick -rw-r--r-- 1 didier didier 305 oct 17 18:48 essai_magick++.cpp $ Conclusion : en fouinant dans le /usr/lib/pkgconfig/ je devrais trouver mon bonheur à coup sûr ! Merci pour le coup de main.
Lucas Levrel wrote:
Le 17 octobre 2010, Valrik a écrit :
Par contre j'ai toujours le problème :
pkg-config --libs Magick++
Package Magick++ was not found in the pkg-config search path.
Perhaps you should add the directory containing `Magick++.pc'
to the PKG_CONFIG_PATH environment variable
No package 'Magick++' found
Le fichier Magick++.pc existe-t-il ?
Je ne comprends toujours pas le correspondances entre nom de paquetages,
nom de fichiers contenus dans les paquetages et nom de bibliothèques...
Peut-être sur fr.comp.os.linux.configuration, mais on y cause surtout
configuration et administration, pas trop développement...
Moi je trouve que c'est de l'administration, mais bon...
Oui, le sujet est aux confins des deux groupes.
Bon, j'ai avancé... ;-))
En lisant http://people.freedesktop.org/~dbn/pkg-config-guide.html j'ai
compris que pour chaque bibliothèque il y a un fichier de configuration
pkg-config dont l'extension est ".pc".
Un petit $ find /usr/ -name "*.pc" -type f | more et quelques secondes plus
tard je trouver un répertoire où il y en a des tas : /usr/lib/pkgconfig/.
Il y en a aussi quelques uns dans /usr/share, mais il ne semble pas qu'ils
concernent à proprement parlé des bibliothèques. En tous cas, il en existe
un qui s'appelle /usr/lib/pkgconfig/ImageMagick++.pc.
Donc, lorsque je fais :$ pkg-config --libs --cflags ImageMagick++
cela me retourne...
-lMagick++ -lWand -lMagick
Puissant !
Est ensuite, encore plus osé...
$ g++ essai_magick++.cpp $(pkg-config --libs --cflags ImageMagick++) -o
essai_magick // Pas d'erreur !
$ ls -l essai_magick*
-rwxr-xr-x 1 didier didier 8693 oct 17 22:39 essai_magick
-rw-r--r-- 1 didier didier 305 oct 17 18:48 essai_magick++.cpp
$
Conclusion : en fouinant dans le /usr/lib/pkgconfig/ je devrais trouver mon
bonheur à coup sûr !
Merci pour le coup de main.
Par contre j'ai toujours le problème : pkg-config --libs Magick++ Package Magick++ was not found in the pkg-config search path. Perhaps you should add the directory containing `Magick++.pc' to the PKG_CONFIG_PATH environment variable No package 'Magick++' found
Le fichier Magick++.pc existe-t-il ?
Je ne comprends toujours pas le correspondances entre nom de paquetages, nom de fichiers contenus dans les paquetages et nom de bibliothèques... Peut-être sur fr.comp.os.linux.configuration, mais on y cause surtout configuration et administration, pas trop développement...
Moi je trouve que c'est de l'administration, mais bon...
Oui, le sujet est aux confins des deux groupes. Bon, j'ai avancé... ;-)) En lisant http://people.freedesktop.org/~dbn/pkg-config-guide.html j'ai compris que pour chaque bibliothèque il y a un fichier de configuration pkg-config dont l'extension est ".pc". Un petit $ find /usr/ -name "*.pc" -type f | more et quelques secondes plus tard je trouver un répertoire où il y en a des tas : /usr/lib/pkgconfig/. Il y en a aussi quelques uns dans /usr/share, mais il ne semble pas qu'ils concernent à proprement parlé des bibliothèques. En tous cas, il en existe un qui s'appelle /usr/lib/pkgconfig/ImageMagick++.pc. Donc, lorsque je fais :$ pkg-config --libs --cflags ImageMagick++ cela me retourne... -lMagick++ -lWand -lMagick Puissant ! Est ensuite, encore plus osé... $ g++ essai_magick++.cpp $(pkg-config --libs --cflags ImageMagick++) -o essai_magick // Pas d'erreur ! $ ls -l essai_magick* -rwxr-xr-x 1 didier didier 8693 oct 17 22:39 essai_magick -rw-r--r-- 1 didier didier 305 oct 17 18:48 essai_magick++.cpp $ Conclusion : en fouinant dans le /usr/lib/pkgconfig/ je devrais trouver mon bonheur à coup sûr ! Merci pour le coup de main.