2012-02-01 6 views
1

私はgtkプログラムを書いています。自分のプログラム設定を保存するGSetingsを利用しようとしています。しかし、プログラムは "GSettings * settings = g_settings_new(SCHEMA);"というステートメントで失敗し、 "設定スキーマ ''がインストールされていません。 GSettingsオブジェクトを作成する前に、設定スキーマをインストールする必要がありますか?もしそうなら、どうすればいい?そうでない場合は、設定を保存するために何をすべきですか? GSettingsを使うよりも良い方法はありますか?自分のgtkプログラムでGSettingsを使う方法

答えて

1

あなたは正しく推測しました。スキーマが動作する前にインストールする必要があります。もはやインストールせずに開発ディレクトリからプログラムを実行することができないので、これは面倒です。 Makefile.amでこれを入れ、その後

GLIB_GSETTINGS 

行を含め、configure.ac

と::幸いなことに、それはあなたがAutotool群を使用する場合は、右行うのは簡単だ

org.my-domainは逆ドメイン名である
gsettings_SCHEMAS = org.my-domain.gschema.xml 
@[email protected] 

スキーマの識別に使用されます。

+0

私はあなたが言ったようにしました。また、xmlファイルのパスをEXTRA_DISTに追加しましたが、まだエラーが発生しました。私は、コンパイラがxmlファイルを見つけて、xmlの構文エラーを認識できることに気付きました。 – sniweef

+0

変数 'SCHEMA'に正しいスキーマ名が含まれていることを確認しましたか? – ptomato

+0

ええ、私は確信しています。私のSCHEMAは "org.my-domain"のようなものです。たとえ私が恥ずかしい名前を持っていたとしても、私は新しいスキーマを作成できました。しかし、 "gsettings list-schemas"というコマンドを実行すると、私のスキーマに似た名前のスキーマは見つかりませんでした。 – sniweef

関連する問題