2009-08-02 21 views
8

私はOSX用のMonoのGTK#で私のfirst steps(またはおそらく私の最後のステップ)を取っています。私はは.csファイルを書き込み、モノラルでコンパイルしよう:初心者質問:OSXのGTK#(モノ)

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='' 

になります。私はあなたが 建物を開始し、 OSXが含まクロスプラットフォーム GUIのGtk#アプリケーションを実行することができるようにMacOS Xのための

MonoのインストーラがGTK +とのGtk#で に来ることを知っています。」

だから、インストールするものはありません。私はここにGTK2

見つけるのです

は、Monoインストールによって確実にインストールされました。

Gmcsバージョンは2.4.2.2です。

編集:私は私の道に奇妙なものがあると言います。

Macportsの指示に従ってすべてのMacportを削除しました。私は.dmgからMonoを再インストールしました。ここに私の現在のパス

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

が、使用だけでは/ usr/binが、それはまだエラーを避けていない場合でもです。

ALLモノモノは、/Library/Frameworks/Mono.framework/Versions/Currentのすべてのものを含め、それが想定されている場所です。 しかし:

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

空です。しかしMonoDevelopは動作しますが、Gtkについてはわかりません(私が知っているすべての参考文献を含んでいます)...

答えて

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 

をした:私は、エラーメッセージをよく見て取ったまで、私は数日間、私の頭を悩ま左空白になってしまったので、パスになかったのでおそらく実行できませんでした。それはそれであることが判明しました。

+0

ありがとうYawar。私は今これを最善の答えとし、次の月(2009年12月)に私はこれを撃ち、それが私のために働くかどうかを見ていきます。問題は私が数ヶ月でこの物に触れていないことです(純粋なWinformsを使用しています)。確かに正しいように見えます。 –

+1

別の(より良い?)オプションは、あなたのパスにmono binディレクトリを追加することです。 'export PATH = $ {PATH}:/ Library/Frameworks/Mono.framework/Versions/Current/bin' – Cheeso

+0

@Cheeso - それはうまくいくはずです。好みの問題だと思います。 – Yawar

3

あなたは混在した設定です。

/opt/local/var/macportsのGtkは、MonoのOSX用インストーラには含まれていませんでした。 Monoインストーラはファイルを/Library/Frameworks/Mono.framework/に置きます。

MonoのWebサイトからMono.Frameworkをインストールした後はそのまま使えるので、あなたのパスには何かがあります(上記のコマンドラインの例を参照してください)。//ライブラリ/フレームワーク:MonoDevelopのを使用して

+0

ありがとうございました。私がこれを解決したり他の質問がある場合は、私は報告します。 (+ 1 para vos、por supuesto) –

+0

申し訳ありませんが、echo $ PATHのように "path"を意味するのでしょうか。 –

+0

Miguel、あなたのコメントの後にもう一度質問を編集しました。 –

2

は物事が容易になりますが、ここで(それはまっすぐGACからアセンブリを参照することに注意してください)コンパイル時に、それはGTK番号を参照する方法であるかもしれません:

GMCS test.cs -rをMono.framework/Versions/Current/lib/mono/gac/gtk-sharp/2.12.0.0__35e10195dab3c99f/gtk-sharpになります。dll

通常、gdk-sharpとpango-sharpとglib-sharp、btwへの参照を含める必要があります。

フレームワークのバージョンが「現在」であるパスに注意してください。これにより、コマンドは将来的にはもう少し簡単になります。

+0

サンディさん、ありがとう、ありがとうございました。まもなくそれを確認していきますが、私の好きなMono戦略 - 待っている - は、すべてが進歩するにつれて良いものです。 –