私の問題は、生成された .c ファイルがヘッダーを "" ではなく <> 内にロードすることです。
生成された .c ファイルには、「my_header.h」ではなく <my_header.h> が含まれています。my_header.h は、vala ファイルがあるディレクトリにあります。
--includedir= を使用してみました。しかし、それは役に立ちませんでした。
これは valac-0.16.0 でのみ発生します。Valac 0.16.1 にはこのバグはありません。
valac-0.16.0 を使用する必要があるため、コンパイラのバージョンを切り替えることはできません。
このスクリプトを使用してこれを修正しました:
#!/usr/bin/ruby
files = Dir.glob("*.c")
files.each do |f|
file = File.open(f,"r")
data = file.read()
data = data.sub("<my_header.h>","\"my_header.h\"")
file2 = File.open(f,"w+")
file2.write(data);
end
しかし、これを .deb ファイルにパッケージ化すると失敗する可能性があるため、私の質問はまだ続きます。