($x, $y), = ($y, $x) то, что заставило меня хотеть изучить Perl.
конструктор списка 1.. 99 или 'a'.. 'zz' также очень хорош.
Быстрое и грязное решение:
cd /usr/local/bin
sudo ln -s /Library/Frameworks/Mono.framework/Commands/pkg-config ./pkg-config
Теперь ваша команда gmcs -pkg: ... будет работать.
Предыстория: Я столкнулся с этой точной проблемой на новом Mac и новой установке Мононуклеоз. Оставил меня чесать голову в течение нескольких дней, пока я не внимательно изучил сообщение об ошибке:
error CS8027: Couldn't run pkg-config: ApplicationName='pkg-config', CommandLine='--libs gtk-sharp-2.0', CurrentDirectory=''
Он говорит, что не может запустить программу, поэтому я сделал
which pkg-config
Это оказалось пустым, поэтому я подумал, что, вероятно, это не мог запустить его, потому что он не был на пути. Так оно и оказалось.
У вас смешанная установка.
Gtk в / opt / local / var / macports не был получен из установщика Mono для OSX, вы, вероятно, получили его раньше из macports. Установщик Mono помещает свои файлы в /Library/Frameworks/Mono.framework/
. Скорее всего, у вас есть что-то еще на вашем пути, поскольку он работает из коробки после того, как я установил Mono.Framework с веб-сайта Mono ( с примером командной строки, который у вас есть выше).
Использование MonoDevelop может упростить задачу, но вот как он ссылается на gtk # при компиляции (обратите внимание, что он ссылается на сборку прямо из GAC):
gmcs test.cs -r: /Library/Frameworks/Mono.framework/Versions/Current/lib/mono/gac/gtk-sharp/2.12.0.0__35e10195dab3c99f/gtk-sharp.dll
Обычно вам также нужно включать ссылки на gdk-sharp и pango-sharp и glib-sharp, btw.
Обратите внимание на то, что в пути используется версия фреймворка "Current", что делает команду более ориентированной на будущее.