J'ai un fichier app.c qui utilise deux bibliothèques GStreamer et libXml2. Pour compiler l'application type I ce qui suit sur TerminalMakefile pour une application simple
gcc -Wall $(pkg-config --cflags --libs gstreamer-0.10) app.c -o app -I/usr/include/libxml2 -lxml2
Lorsque je tente de Makefile avec le contenu comme suit:
all:
gcc -Wall $(pkg-config --cflags --libs gstreamer-0.10) app.c -o app -I/usr/include/libxml2 -lxml2
run:
./app
clean:
rm app
sur l'exécution commande make je reçois les erreurs comme prévu. En fonction de ce qui précède, j'obtiens des fichiers qui, lorsqu'ils sont inclus dans Makefile, me donnent la sortie correcte.
Lorsque je fais xml2-config --cflags sur ma machine hôte, j'obtiens la sortie \t -I/usr/include/libxml2 comme sortie. Mais quand je le fais dans un processeur différent (invité), j'obtiens l'erreur xml-config non trouvée si la libxml2 est installée là. Je veux compléter l'application pour l'invité de l'hôte. – w2lame
Par "processeur différent", voulez-vous dire un autre nom d'utilisateur? Il est probable que la variable PKG_CONFIG_PATH ne soit pas correctement définie pour le compte invité. Essayez de faire 'echo $ PKG_CONFIG_PATH' en utilisant les deux noms d'utilisateur et comparez les résultats. – misha
Aussi, assurez-vous que vous utilisez le shell 'bash' (tapez simplement' bash' à votre invite pour entrer dans un). Le shell par défaut pour certaines distributions comme Ubuntu est 'dash'. J'ai juste essayé cela dans un shell 'dash' et l'expansion de la commande (bit entre les guillemets) n'a pas été étendue correctement. – misha