web-dev-qa-db-ja.com

Valaコンパイラがgee.hを見つけられない

私はGNOME GUIDに従ってUbuntuでValaを設定しました。 そして 最初の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)

すべての開発パッケージがインストールされており、ヘッダーは/usr/include/gee-0.8/gee.h。他に設定する必要があるものはありますか?

Ubuntu 18.04とPantheonデスクトップを使用しています。

  1. 私の環境に関する詳細情報を更新します。
~$ 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

欠落しているヘッダーファイルに関する一般的なコンパイルのヒント:

インクルードパスに適切なディレクトリを追加することは、まさにこの場合に行うことになっていることであり、pkg-configによってそれを行うことだけが想定されています。フルパス名を使用してファイルに直接アクセスすることはサポートされていません。

Makefileに次のようなものを追加します。

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

これにより、現在のシステムに適切なコンパイラとリンカーのオプションが自動的に追加されます。

メールアーカイブ から役立つかもしれないいくつかのヒントがあります:

Re:[Vala]パッケージ `Gee-0.8 'が見つかりません

ラルフガンスウィント金、2018年1月26日22:08:52 -0800

ありがとう、それは不足している情報でした。 -devパッケージを取得するためにubuntuリポジトリの適切な名前を見つけ、.girファイルが存在する場所に表示されました。 valaディレクトリを調べたところ、/ usr/share/vala/vapi /の下にありましたが、ファイルを/usr/share/vala-0.36/vapi/にコピーするまで、valacはそれを見つけることができませんでした。これがUbuntuに固有のものかどうかはわかりませんが、これは誰かにとって役立つかもしれません。

再度、感謝します、

ラルフ

ラルフ・ガンスウィンド・ラルフガンスウィ... @ gmail.com

2018年1月25日木曜日午後12:03に、アルトーマスは次のように書いています。

>

2018年1月25日木曜日、グリニッジ標準時16:41:31、ラルフガンスウィント<ralfganswi ... @ gmail.com>は次のように書いています。

私はヴァラを実験していますが、今のところそれがどのように機能するかが気に入っています。しかし、サンプルプログラムから基本的なgeeの例をコンパイルしようとしたところ、次の結果が得られました。

$ valac --pkg Gee-0.8 list.valaエラー:パッケージ `Gee-0.8 'が指定されたVala APIディレクトリに見つからない、または

--pkg gee-0.8にする必要があります。大文字と小文字が区別されます。

また、開発ファイルをインストールする必要があります。 Ubuntuの場合、apt install libgee-devのようなものになります

GIRファイル:最初からGIRファイルを避けたい。それらは、GObject Introspection Repository(GIR)ファイルであり、Cライブラリのインターフェースに関する十分な情報を含み、Valaを含むさまざまな言語のバインディングを生成します。その後、Valaツールvapigenを使用して、GIRからValaアプリケーションプログラミングインターフェイス(VAPI)ファイルを生成できます。 VAPIが見つからない場合、valacはこれを自動的に実行できます。

大文字のバージョン--pkg Gee-0.8を使用することにより、valacは関連するGIRを検索してVAPIを生成しようとしました。おそらく開発ファイルがインストールされていないためか、それも見つからなかったようです。 devパッケージのファイルを見ると、ファイル名の違いがわかるはずです。

はじめに、ライブラリとのインターフェースにVAPIファイルを使用することに集中したいと考えています。

ではごきげんよう、

アル


vala-listメーリングリスト[email protected] https://mail.gnome.org/mailman/listinfo/vala-list

さらに、私はどこかで読んだbuild-essentialsもインストールする必要があります。

Sudo apt install build-essentials
1