新手问题:OSX上的GTK#(Mono)

时间:2009-08-02 21:37:43

标签: macos mono gtk#

我正在Mono for OSX上用GTK#中的first steps(或者我的最后一步)。我写了一个.cs文件,然后尝试用mono编译:

gmcs -pkg:gtk-sharp-2.0 one.cs

这会产生此消息

error CS8027: Couldn't run pkg-config: ApplicationName='pkg-config', CommandLine='--libs gtk-sharp-2.0', CurrentDirectory=''

显然,这会让我知道自己在做什么。我知道

  

Mono的MacOS X安装程序来了   使用Gtk +和Gtk#这样你就可以开始了   构建和运行跨平台   GUI Gtk#应用程序包括   OSX“。

所以没有什么可以安装的。

<击> 我在这里找到GTK2

/opt/local/var/macports/sources/rsync.macports.org/release/ports/x11/gtk2/

,这是Mono安装肯定安装的。

Gmcs版本是2.4.2.2。

编辑: Miguel说我的道路上有一些奇怪的东西。

我已根据Macports说明删除了所有Macport。我从.dmg重新安装了Mono。这是我目前的路径

export PATH=/opt/subversion:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/git/bin

但即使只使用/ usr / bin,它仍然无法避免错误。

所有单声道的东西都应该是它应有的位置,包括/Library/Frameworks/Mono.framework/Versions/Current中的所有内容。 HOWEVER:奇怪

/Library/Frameworks/Mono.framework/Versions/2.4.2.2/lib/gtk-sharp-2.0/ 

是空的。但是MonoDevelop会运行,但不知道Gtk(我已经包含了它所知道的所有引用)......

3 个答案:

答案 0 :(得分:9)

快速而肮脏的解决方案:

cd /usr/local/bin
sudo ln -s /Library/Frameworks/Mono.framework/Commands/pkg-config ./pkg-config

现在你的gmcs -pkg:...命令会起作用。

背景:我在新款Mac和新安装的Mono上遇到了这个问题。让我挠头几天,直到我仔细查看错误信息:

error CS8027: Couldn't run pkg-config: ApplicationName='pkg-config', CommandLine='--libs gtk-sharp-2.0', CurrentDirectory=''

它说它无法运行程序,所以我做了一个

which pkg-config

这是空白的,所以我想可能无法运行它,因为它不在路径中。原来就是这样。

答案 1 :(得分:3)

你有一个混合设置。

/ opt / local / var / macports中的Gtk并非来自Mono的OSX安装程序,您可能是早些时候从macports获得的。 Mono安装程序将其文件放在/Library/Frameworks/Mono.framework /

有可能,你在路径上还有别的东西,因为在我从Mono网站安装Mono.Framework之后它已经开箱即用(使用上面的命令行示例)。

答案 2 :(得分:2)

使用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”的路径,这使命令更具有前瞻性。