私は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デスクトップを使用しています。
~$ 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.
欠落しているヘッダーファイルに関する一般的なコンパイルのヒント:
インクルードパスに適切なディレクトリを追加することは、まさにこの場合に行うことになっていることであり、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