Ich nehme meine ersten Schritte (oder vielleicht meine letzten Schritte) in GTK # auf Mono für OSX . Ich schreibe eine .cs-Datei und versuche dann, mit Mono zu kompilieren:
%Vor%Dies führt zu dieser Nachricht
%Vor%Was mich anscheinend dazu zwingen würde zu wissen, was ich tue. Das weiß ich.
Monos Installer für MacOS X kommt mit Gtk + und Gtk # so können Sie beginnen Aufbau und Betrieb plattformübergreifend GUI Gtk # Anwendungen, die enthalten OSX. "
Es gibt also nichts zu installieren.
wurde definitiv von der Mono-Installation installiert.
Gmcs-Version ist 2.4.2.2.
Bearbeiten: Miguel sagt, ich habe etwas Seltsames in meinem Weg.
Ich habe alle Macports nach Macports Anweisungen entfernt. Ich habe Mono von der .dmg neu installiert. Hier ist mein aktueller Pfad
%Vor%Aber selbst wenn Sie nur / usr / bin verwenden, wird der Fehler immer noch nicht vermieden.
ALLES Mono-Zeug ist da, wo es sein soll, inklusive aller Sachen in /Library/Frameworks/Mono.framework/Versions/Current
. JEDOCH: seltsamerweise
ist leer. Aber MonoDevelop läuft, weiß aber nicht über Gtk (ich habe alle Referenzen enthalten, die es kennt) ...
Schnelle und schmutzige Lösung:
%Vor%Jetzt funktioniert der Befehl gmcs -pkg: ....
Hintergrund: Ich treffe genau dieses Problem auf einem neuen Mac und einer neuen Installation von Mono. Ich habe mich ein paar Tage am Kopf kratzt, bis ich mir die Fehlermeldung genau angesehen habe:
%Vor%Es sagt, dass es das Programm nicht ausführen konnte, also habe ich ein
gemacht %Vor%Das kam leer, also dachte ich, es könnte es wahrscheinlich nicht ausführen, weil es nicht im Pfad war. Und das war es.
Sie haben ein gemischtes Setup.
Das Gtk in / opt / local / var / macports kam nicht von Monos Installer für OSX, wahrscheinlich haben Sie es früher von Macports bekommen. Das Mono-Installationsprogramm platziert seine Dateien unter /Library/Frameworks/Mono.framework /
Wahrscheinlich haben Sie etwas anderes auf Ihrem Weg, da es nach der Installation von Mono.Framework von der Mono-Website funktioniert (mit dem obigen Kommandozeilen-Beispiel).
Die Verwendung von MonoDevelop könnte die Dinge vereinfachen, aber hier ist, wie es gtk # während des Kompilierens referenziert (beachte, dass es die Assembly direkt vom GAC referenziert):
gmcs test.cs -r: /Library/Frameworks/Mono.framework/Versions/Current/lib/mono/gac/gtk-sharp/2.12.0.0__35e10195dab3c99f/gtk-sharp.dll
Sie müssen normalerweise auch Referenzen auf gdk-sharp und pango-sharp und glib-sharp aufnehmen, übrigens.
Beachten Sie im Pfad, dass die Framework-Version "Current" ist, was den Befehl etwas zukunftssicherer macht.