18

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

    mkbundle file.exe --deps -o FILE

我在编译期间得到这个:

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

我错过了什么吗?

4

3 回答 3

8

关键是前面的错误(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"
于 2014-11-22T07:52:00.277 回答
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"

...如此处所述在 Mac OS X 雪豹上但在 Mountain Lion 上运行单声道 2.10.2 mkbundle 时出现问题,我不得不这样做,以便应用程序可以在 Lion 上运行。

export AS="as -arch i386"
export CC="clang -arch i386 -mmacosx-version-min=10.6"
于 2013-08-08T04:16:45.607 回答
4

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

然后,如果您使用的是 Windows(但我猜您使用的是 OSX - 但只是提一下):您将需要一个类似 Unix 的工具链才能使 mkbundle 工作。

摘录:来自他们的网站

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

于 2013-06-07T05:10:59.233 回答