2012-01-12 121 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

我希望這能幫助