Newbie Frage: GTK # (Mono) auf OSX
Frage
Ich nehme meine ersten Schritte (oder vielleicht meine letzten Schritte) in GTK # auf Mono für OSX. Ich schreibe eine CS-Datei und dann versuchen, mit Mono zu kompilieren:
gmcs -pkg:gtk-sharp-2.0 one.cs
Dies führt in dieser Meldung
error CS8027: Couldn't run pkg-config: ApplicationName='pkg-config', CommandLine='--libs gtk-sharp-2.0', CurrentDirectory=''
Was wäre, offenbar, mir verlangen zu wissen, was ich tue. Ich weiß, dass
Monos Installer für Mac OS X kommt mit Gtk + und Gtk #, so dass Sie beginnen können Erstellen und Ausführen von plattformübergreif GUI Gtk # Anwendungen, die enthalten OSX. "
Es gibt also nichts zu installieren.
Ich GTK2 finde hier
/opt/local/var/macports/sources/rsync.macports.org/release/ports/x11/gtk2/
, die auf jeden Fall von der Mono-Installation installiert wurden.
GMCs Version 2.4.2.2.
Edit:. Miguel sagt, dass ich etwas komisch in meinem Weg habe
Ich habe alle Macports Anweisungen folgen Macports entfernt. Ich habe Mono aus dem .dmg neu installiert. Hier ist mein aktueller Pfad
export PATH=/opt/subversion:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/git/bin
aber selbst wenn Verwendung nur / usr / bin es immer noch nicht den Fehler zu vermeiden.
ALL Mono Zeug ist, wo es sein soll ist, auch all die Dinge in /Library/Frameworks/Mono.framework/Versions/Current
. ABER: seltsam
/Library/Frameworks/Mono.framework/Versions/2.4.2.2/lib/gtk-sharp-2.0/
ist leer. Aber MonoDevelop läuft, aber nicht weiß, über Gtk (Ich habe alle enthalten die Referenzen es kennt) ...
Lösung
Schnelle und schmutzige Lösung:
cd /usr/local/bin
sudo ln -s /Library/Frameworks/Mono.framework/Commands/pkg-config ./pkg-config
Jetzt ist Ihre gmcs -pkg. ... Befehl funktioniert
Hintergrund: Ich traf genau dieses Problem auf einem neuen Mac und eine Neuinstallation von Mono. Ließ ich meinen Kopf für ein paar Tage kratzen, bis ich einen genauen Blick auf der Fehlermeldung nahm:
error CS8027: Couldn't run pkg-config: ApplicationName='pkg-config', CommandLine='--libs gtk-sharp-2.0', CurrentDirectory=''
Es ist zu sagen es das Programm nicht laufen konnte, so habe ich ein
which pkg-config
kam, dass bis leer, also dachte ich es wahrscheinlich nicht laufen konnte, weil es nicht im Weg war. Und das stellte sich heraus, es zu sein.
Andere Tipps
Sie haben eine gemischte Setup.
Die Gtk in / opt / local / var / Macports nicht von Monos Installer für OSX kam, werden Sie wahrscheinlich haben es früher von Macports. Der Mono-Installer legt seine Dateien unter /Library/Frameworks/Mono.framework /
Die Chancen stehen gut, Sie etwas anderes auf dem Weg zu haben, da es aus der Box funktioniert, nachdem ich die Mono.Framework von der Mono-Website (mit der Befehlszeile Beispiel, die Sie oben haben) installiert ist.
MonoDevelop verwenden, kann die Dinge einfacher, aber hier ist, wie es gtk # verweist beim Kompilieren (beachten Sie, dass es die Montage direkt aus dem GAC verweist):
gmcs Test.cs -r: /Library/Frameworks/Mono.framework/Versions/Current/lib/mono/gac/gtk-sharp/2.12.0.0__35e10195dab3c99f/gtk-sharp.dll
Sie werden in der Regel müssen auch Hinweise enthalten gdk scharfe und pango scharf und glib-scharf, btw.
Hinweis in dem Weg, die Framework-Version „Current“ ist, die den Befehl ein wenig mehr zukunftssicher macht.