我正在尝试使用Mono创建一个Mac套装。当我执行:
mkbundle file.exe --deps -o FILE
我在编译期间得到了这个:
fatal error: "mono/metadata/mono-config.h" file not found
我错过了什么吗?
答案 0 :(得分:7)
我在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"
...正如此处An issue when running mono 2.10.2 mkbundle on Mac OS X snow leopard所述,但在Mountain Lion上,我不得不这样做,以便应用程序可以在Lion上运行。
export AS="as -arch i386"
export CC="clang -arch i386 -mmacosx-version-min=10.6"
答案 1 :(得分:7)
关键是前面的错误(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 runtime and CoreFoundation framework solution proposed here提议)。
export AS="as -arch i386"
export CC="cc -arch i386 -framework CoreFoundation -lobjc -liconv"
答案 2 :(得分:4)
尝试重新安装Mono Development Kit(MDK)。不要在MDK之上安装Mono Runtime Environment(MRE)。 MDK就足够了。
然后,如果你正在使用Windows(但我想你是在OSX上 - 但只是提一下):你需要一个类似Unix的工具链才能让mkbundle工作。
摘录:来自their site
在Windows系统上,必须使用类似Unix的工具链 为mkbundle安装工作。你可以使用cygwin并安装gcc, gcc-mingw和包。 (原文如此)