2012-01-12 120 views
2

我试图编译Windows 7(64位)中的“GTK#Hello World”示例http://mono-project.com/Mono_Basics。我得到这个错误:无法编译gtk#示例

错误CS8027:无法运行pkg配置:应用程序名称= 'pkg配置',命令行 = ' - 库GTK锋利2.0',currentDirectory所= ''

我已经成功编译并运行了“Console Hello World”示例。

我已经安装了Mono-2.10.8。

在此先感谢您的帮助

+0

可以提供更喜欢的编译器选项的详细信息。如果您使用MonoDevelop进行编译,那么Monodevelop会使用安装在机器上的MS .Net框架。 – Sharique 2012-01-12 12:50:20

+0

你安装了'pkg-config'吗?开箱即用的Windows不具备这一功能。 – 2012-01-12 12:53:35

+0

我安装了mono-2.10.8-gtksharp-2.12.11-win32-1.exe进行编译。我正在编译“gmcs hellogtk.cs -pkg:gtk-sharp-2.0”。我在Mono/bin文件夹中有pkg-config.exe。我试图用http://www.gtk.org/download/win64.php中找到的最新版本替换它,但我一直得到相同的错误。 – 2012-01-12 14:02:38

回答

1

您试图使用您没有的pkg-config。带有--libs的pkg-config会将指定的软件包(如gtk-sharp-2.0)转换为对库的引用。如果你不想安装pkg-config,你有两种选择:

  • 手动引用需要编译器选项的库;
  • 创建一个引用这些库的项目。

我推荐第二种选择,因为通过直接指定所有的源代码和引用来编译可能对hello-world示例很好,但对于更大的东西不是好的。你会自己编写脚本来编译这个项目,那么为什么不使用专门为它设计的东西 - 比如xbuild或make。 MonoDevelop应该包含空的Gtk#项目模板。

3

我试着用Mono 2.10.8编译一个Windows 7中的GTK#例子,以及与编译器一起使用的选项,所以我有同样的错误,然后我试图用手来引用每个程序集,所以它工作正常。

这里是完整的命令,我在单声道2-10.8 comman提示符下测试。

gmcs ButtonApp.cs -r:C:/PROGRA~2/MONO-2~1.8/lib/mono/gtk-sharp-2.0/pango-sharp.dll,C:/ PROGRA〜2/MONO-2 〜1.8/LIB /单声道/ GTK锋利2.0/ATK-sharp.dll,C:/PROGRA~2/MONO-2~1.8/lib/mono/gtk-sharp-2.0/gdk-sharp.dll,C: /PROGRA~2/MONO-2~1.8/lib/mono/gtk-sharp-2.0/gtk-sharp.dll

我希望这能帮助