Mono で Mac バンドルを作成しようとしています。私が実行すると:
mkbundle file.exe --deps -o FILE
コンパイル中にこれを取得します:
fatal error: "mono/metadata/mono-config.h" file not found
何か不足していますか?
キーは前のエラー ( sh: pkg-config: command not found
) です。pkg-config は「/Library/Frameworks/Mono.framework/Commands」に保存されていることに注意してください。
「/Library/Frameworks/Mono.framework/Commands」フォルダーを PATH 変数の先頭に追加します。
export PATH=/Library/Frameworks/Mono.framework/Commands:$PATH
さらに (aiapatag によって提案され、objective-c ランタイムおよびここで提案されている CoreFoundation フレームワーク ソリューション)。
export AS="as -arch i386"
export CC="cc -arch i386 -framework CoreFoundation -lobjc -liconv"
私のMacでも同じ問題がありました。pkg-config を設定することで解決しました。
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/lib/pkgconfig:/Library/Frameworks/Mono.framework/Versions/3.0.12/lib/pkgconfig
Mac の場合は、次のことを行う必要があります。
export AS="as -arch i386"
export CC="cc -arch i386"
...ここで述べたように Mac OS X Snow leopard で mono 2.10.2 mkbundle を実行しているときに Mountain Lion で問題が発生したため、Lion でアプリを実行できるようにするために、代わりにこれを行う必要がありました。
export AS="as -arch i386"
export CC="clang -arch i386 -mmacosx-version-min=10.6"
Mono 開発キット (MDK) を再インストールしてみてください。MDK の上に Mono ランタイム環境 (MRE) をインストールしないでください。MDKで十分です。
次に、Windows を使用している場合 (ただし、OSX を使用していると思いますが、言及するだけです): mkbundle を機能させるには、Unix のようなツールチェーンが必要です。
抜粋:サイトより
Windows システムでは、mkbundle を機能させるために Unix のようなツールチェーンをインストールする必要があります。cygwin を使用して、gcc、gcc-mingw をパッケージとしてインストールできます。(原文のまま)