web-dev-qa-db-fra.com

Le compilateur Vala ne trouve pas gee.h

J'ai suivi le guide GNOME pour configurer Vala sur Ubuntu. et essayez le premier échantillon GEE .

$ valac --pkg gee-0.8 gee-list.vala 
gee-list.vala.c:8:10: fatal error: gee.h: No such file or directory
 #include <gee.h>
          ^~~~~~~
compilation terminated.
error: cc exited with status 256
Compilation failed: 1 error(s), 0 warning(s)

J'ai installé tous les packages de développement et l'en-tête est un /usr/include/gee-0.8/gee.h. Y a-t-il autre chose que je dois configurer?

J'utilise Ubuntu 18.04 et le bureau Pantheon.

  1. Mettre à jour plus d'informations sur mon environnement:
~$ echo | gcc -Wp,-v -x c++ - -fsyntax-only
ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/7"
ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/7/../../../../x86_64-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/include/c++/7
 /usr/include/x86_64-linux-gnu/c++/7
 /usr/include/c++/7/backward
 /usr/lib/gcc/x86_64-linux-gnu/7/include
 /usr/local/include
 /usr/lib/gcc/x86_64-linux-gnu/7/include-fixed
 /usr/include/x86_64-linux-gnu
 /usr/include
End of search list.
$ echo | gcc -Wp,-v -x c - -fsyntax-only
ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/7/../../../../x86_64-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/lib/gcc/x86_64-linux-gnu/7/include
 /usr/local/include
 /usr/lib/gcc/x86_64-linux-gnu/7/include-fixed
 /usr/include/x86_64-linux-gnu
 /usr/include
End of search list.
2
aggsol

Quelques conseils de compilation généraux sur les fichiers d'en-tête manquants:

Ajouter le répertoire approprié à votre chemin d'inclusion est exactement ce que vous êtes censé faire dans ce cas, seulement vous êtes censé le faire par pkg-config. L'accès direct aux fichiers à l'aide de noms de chemin d'accès complets n'est pas pris en charge.

Ajoutez quelque chose comme ça à votre Makefile:

CFLAGS += `pkg-config --cflags gtk+-3.0` 
 LIBS += `pkg-config --libs gtk+-3.0` 

Cela ajoutera automatiquement les bonnes options de compilateur et de l'éditeur de liens pour le système actuel.

De archive mail il y a quelques conseils qui pourraient être utiles:

Re: [Vala] Package `Gee-0.8 'introuvable

Ralf Ganswindt ven.26 janv.2018 22:08:52 -0800

Merci, c'était l'info manquante. J'ai trouvé le nom correct pour le dépôt ubuntu pour obtenir le paquet -dev et le tour est joué le fichier .gir où il devrait. J'ai parcouru les répertoires vala et je les ai trouvés sous/usr/share/vala/vapi /, mais valac n'a toujours pas pu le trouver tant que je n'ai pas copié le fichier dans /usr/share/vala-0.36/vapi/. Je ne sais pas si cela est unique à Ubuntu, mais je pense que cela pourrait être utile à quelqu'un.

Merci encore,

Ralf

Ralf Ganswindt ralfganswi ... @ gmail.com

Le jeu 25 janvier 2018 à 12 h 03, Al Thomas a écrit:

>

Le jeudi 25 janvier 2018, à 16:41:31 GMT, Ralf Ganswindt <ralfganswi ... @ gmail.com> a écrit:

J'expérimente avec Vala et jusqu'à présent j'aime son fonctionnement. Cependant, j'ai essayé de compiler un exemple de base gee à partir des exemples de programmes et j'obtiens ce qui suit:

$ valac --pkg Erreur Gee-0.8 list.vala: le package `Gee-0.8 'est introuvable dans les répertoires API Vala spécifiés ou

Il devrait être --pkg gee-0.8 Il est sensible à la casse!

Vous devez également installer les fichiers de développement. Pour Ubuntu, ce serait quelque chose comme apt install libgee-dev

Fichiers GIR: vous voulez éviter de commencer par les fichiers GIR. Ce sont des fichiers GObject Introspection Repository (GIR) qui contiennent suffisamment d'informations sur l'interface d'une bibliothèque C pour générer des liaisons pour divers langages, y compris Vala. L'outil Valigen vapigen peut ensuite être utilisé pour générer un fichier VAPI (Vala Application Programming Interface) à partir du GIR. valac peut le faire automatiquement si aucun VAPI n'est trouvé.

En utilisant la version en majuscule, --pkg Gee-0.8, valac a essayé de générer le VAPI pour vous en recherchant le GIR correspondant. Il semble que cela n'a pas été trouvé non plus, probablement parce que les fichiers de développement ne sont pas installés. Si vous regardez les fichiers dans le paquet dev, vous devriez voir la différence dans les noms de fichiers.

Au début, vous souhaitez vous concentrer sur l'utilisation des fichiers VAPI pour l'interfaçage avec les bibliothèques.

Bonne chance,

Al


liste de diffusion vala-list [email protected] https://mail.gnome.org/mailman/listinfo/vala-list

De plus, j'ai lu quelque part que build-essentials devrait également être installé.

Sudo apt install build-essentials
1
WinEunuuchs2Unix