使用Mono的Mac上的mkbundle:找不到“mono / metadata / mono-config.h”文件

我正在尝试用Mono创建一个Mac捆绑包。 当我执行:

mkbundle file.exe --deps -o FILE 

我在编译期间得到了这个:

  fatal error: "mono/metadata/mono-config.h" file not found 

我错过了什么吗?

我在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雪豹上运行mono 2.10.2 mkbundle但在Mountain Lion上运行时,我不得不这样做,以便应用程序可以在Lion上运行。

 export AS="as -arch i386" export CC="clang -arch i386 -mmacosx-version-min=10.6" 

关键是前面的错误( 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" 

尝试重新安装Mono Development Kit(MDK)。 不要在MDK之上安装Mono Runtime Environment(MRE)。 MDK就足够了。

然后,如果你正在使用Windows(但我想你是在OSX上 – 但只是提一下):你需要一个类似Unix的工具链才能让mkbundle工作。

摘录:来自他们的网站

在Windows系统上,必须安装类似Unix的工具链才能使mkbundle正常工作。 您可以使用cygwin并安装gcc,gcc-mingw和包。 (原文如此)