Próbuję zrobić moje pierwsze kroki w C# i chciałem zbudować puste okno GTK jako moje pierwsze zadanie. Via macports
I zainstalowane następujące pakiety:Mono na OSX: Nie można znaleźć gtksharpglue-2.dll
ja również skorzystać z MonoDevelop stronę główną Mono.
Dodałem gtk-sharp.dll
(z /opt/local/lib/mono/gtk-sharp-2.0
) do moich referencji. Mój kod wygląda następująco:
using System;
using Gtk;
namespace lolbr_client
{
class MainClass
{
public static void Main (string[] args)
{
Console.WriteLine("Loading..");
Window window = new Window("test");
}
}
}
Kiedy skompilować i uruchomić że snippet, wydaje się, aby znaleźć i obejmują biblioteki GTK, drukuje „Loading ..” do konsoli, ale wiersz po Console.WriteLine()
przyczyn ten błąd:
System.DllNotFoundException: gtksharpglue-2
at (wrapper managed-to-native) Gtk.Container:gtksharp_gtk_container_get_focus_child_offset()
at Gtk.Container..cctor() [0x00000] in <filename unknown>:0
Mimo że szczególną .dll nie istnieje na moim systemie plików, szybkie locate gtksharpglue-2
ujawniła następujące pliki:
/Library/Frameworks/Mono.framework/Versions/2.10.9/lib/libgtksharpglue-2.so
/opt/local/lib/libgtksharpglue-2.a
/opt/local/lib/libgtksharpglue-2.la
/opt/local/lib/libgtksharpglue-2.so
Czy te pliki mi pomagają? Jakie są kolejne kroki, aby debugować/naprawić to? Przeszukałem już Google, ale albo jestem zbyt młody na ten temat, żeby rozpoznać przydatne informacje, albo przydatne informacje po prostu nie istnieją. Czy ktoś może mi pomóc? Z góry dziękuję!
te dllmapy powinny już pochodzić z gtk-sharp, starają się znaleźć główną przyczynę problemu, więc naprawiamy go dla następnego dewelopera? – knocte
@knocte Zajrzę do tego. W pewnym sensie założyłem, że zależności takie jak 'glib' będą już skonfigurowane po instalacji, więc może to właśnie jest problem. Czy jesteś programistą w wersji mono lub gtk? – Fabian
Tak, przyczyniłem się zarówno do problemu – knocte