2015-07-25 1 views
2

Je veux compiler le programme de test GTK + pour le langage de programmation Vala. J'ai enregistré le code comme main.vala et appelez le compilateur avec la ligne de commandeVala Program ne compile pas sous MSYS2 - paquet pkg-config non trouvé

valac --pkg gtk+-3.0 main.vala 

Mais cela ne fonctionne pas. J'obtiens l'erreur:

Package gobject-2.0 was not found in the pkg-config search path. 
Perhaps you should add the directory containing `gobject-2.0.pc' 
to the PKG_CONFIG_PATH environment variable 
No package 'gobject-2.0' found 
error: pkg-config exited with status 1 

Pourquoi pkg-config ne trouve-t-il pas ce paquet? Quand j'appelle

pkg-config --list-all | grep gobject-2.0 

Je ne pas obtenir une erreur, mais

gobject-2.0  GObject - GLib type, Object, Parameter and Signal library 

Donc ma question est, pourquoi ne compile pas le programme?

Répondre

1

Il est difficile de comprendre ce qui se passe en fonction des informations que vous avez fournies - vous devrez probablement vous débrouiller vous-même. Je vais essayer d'inclure des pointeurs ici. Un bon point de départ consisterait à définir la variable d'environnement PKG_CONFIG_DEBUG_SPEW ...

La cause la plus probable est que certaines variables d'environnement et/ou pkg-config invoquées sont différentes. Il est difficile de dire exactement comment ils pourraient être différents, mais tous valac fait est invoking pkg-config.

Afin de déterminer qui pkg-config à exécuter, valac recherche d'abord l'option de ligne de commande --pkg-config ou, si ce n'est pas présent, la variable d'environnement PKG_CONFIG (voir compiler/valacompiler.vala pour la logique). Si ce n'est pas le cas, il appellera simplement pkg-config (cette partie est dans codegen/valaccodecompiler.vala, la méthode Vala.CCodeCompier.compile).

De là, pkg-config prend le relais. Le pkg-config man page explique comment il recherche les fichiers; fondamentalement le . Encore une fois, activer le debug spew serait probablement le meilleur endroit pour commencer.

+0

J'ai résolu le problème en découvrant que la valeur de construction pkg-config utilisée était cassée. – user4759923