現在、vala でプロジェクトに取り組んでいますが、プロジェクトをコンパイルするのに問題があります。ファイルは valac を通過しますが、問題ありませんが、次のエラーが発生します。
C:\Users\Andrew\AppData\Local\Temp/ccEYx9mD.o:EditorWindow.vala.c:(.text+0x437):
gtk_source_view_new' C:\Users\Andrew\AppData\Local\Temp/ccEYx9mD.o:EditorWindow.vala.c:(.text+0x48a): undefined reference to
gtk_source_view_set_auto_indent への未定義の参照' C:\Users\Andrew\AppData\Local\Temp/ccEYx9mD. o:EditorWindow.vala.c:(.text+0x4a2):gtk_source_view_set_indent_on_tab' C:\Users\Andrew\AppData\Local\Temp/ccEYx9mD.o:EditorWindow.vala.c:(.text+0x4ba): undefined reference to
gtk_source_view_set_show_line_numbers への未定義の参照' C:\Users\Andrew\AppData\Local\Temp/ccEYx9mD.o:EditorWindow.vala.c:(.text+0x4d2): gtk_source_view_set_insert_spaces_instead_of_tabs'への未定義の参照gtk_source_view_set_highlight_current_line' C:\Users\Andrew\AppData\Local\Temp/ccEYx9mD.o:EditorWindow.vala.c:(.text+0x4ea): undefined reference to
' C:\Users\Andrew\AppData\Local\Temp/ccEYx9mD.o:EditorWindow.vala.c:(.text+0xf74): `gtk_source_view_get_type' への未定義の参照
失敗している問題のファイルのコードは次のとおりです。
using Gtk;
using Gtk.Stock;
using Gdk;
public class EditorWindow : GLib.Object
{
public Gtk.SourceView EditorWindow {get;set;}
public HBox TabHeader {get;set;}
private Gtk.Image icon {get;set;}
private Label name {get;set;}
private Button closeButton {get;set;}
public unowned Notebook parent {get;set;}
public EditorWindow(File? file = null, Notebook parent)
{
//Interperet file data
if(file == null)
{
this.name = new Label("testPage.cs");
}
else
{
//get all necessary file data
}
this.TabHeader = new HBox(false, 0);
//this.name = new Label("testPage.cs");
this.closeButton = new Button();
this.closeButton.set_relief(ReliefStyle.NONE);
this.closeButton.set_focus_on_click(false);
this.closeButton.add(new Gtk.Image.from_stock(Gtk.Stock.CLOSE, IconSize.MENU));
this.icon = new Gtk.Image.from_stock(Gtk.Stock.FILE, IconSize.MENU);
this.TabHeader.pack_start(this.icon, false, false, 0);
this.TabHeader.pack_start(this.name, true, true, 0);
this.TabHeader.pack_start(this.closeButton, false, false, 0);
this.EditorWindow = new Gtk.SourceView();
this.EditorWindow.auto_indent = true;
this.EditorWindow.indent_on_tab = true;
this.EditorWindow.show_line_numbers = true;
this.EditorWindow.highlight_current_line = true;
this.EditorWindow.insert_spaces_instead_of_tabs = false;
//parent.append_page(this.EditorWindow, this.TabHeader);
//Read libraries to register objects and methods
//Parse all lines and provide labels
}
public void ParseLibraries()
{
}
public void ParseLocalFiles()
{
}
public void ParseProjectFiles()
{
}
}
これらの 5 行の後、ファイルは失敗し、collect2: ld returne 1 exit status
.
この問題を解決する方法はありますか? どんな助けでも大歓迎です。
編集
私が使用したコマンド ライン コンパイルは次のとおりvalac Main.vala GUI.vala EditorWindow.vala -o Valarian.exe --enable-checking --pkg gtk+-2.0 --pkg gdk-2.0 --pkg gtksourceview-2.0 --thread
です。これを Windows で実行しているので、gtk/gdk/sourceview 2.0 を使用しています。