OSX上的Mono mkbundle

时间:2013-08-02 00:43:49

标签: macos mono mkbundle

我正在尝试使用mono的mkbundle创建一个独立的C#应用​​程序,我安装了Xcode和Mono Developer Kit(我确定它是MDK而不是运行时)。然而我使用mkbundle mkbundle test.exe

我收到这些错误

Compiling:
as -o temp.o temp.s 
cc -g -o a.out -Wall temp.c `pkg-config --cflags --libs mono-2`  temp.o
sh: pkg-config: command not found
temp.c:1:10: fatal error: 'mono/metadata/mono-config.h' file not found

1 error generated.
[Fail]

发生了什么事?

2 个答案:

答案 0 :(得分:3)

pkg-config存储在' /Library/Frameworks/Mono.framework/Commands'。

解决方案(请参阅herehere):

预先添加" /Library/Frameworks/Mono.framework/Commands"文件夹到 你的PATH变量:

export PATH=/Library/Frameworks/Mono.framework/Commands:$PATH

除了architecture solution proposed by aiapatagobjective-c runtime and CoreFoundation framework solution

之外,还需要这样做
export AS="as -arch i386"
export CC="cc -arch i386 -framework CoreFoundation -lobjc -liconv"

答案 1 :(得分:1)

看起来找不到pkg-config工具。也许它不在默认路径中。

你在某个地方有'pkgconfig'目录吗?它应该是Mono安装的子目录。 试着看看你的路径是否像/Library/Frameworks/Mono.framework/Versions/XXXX/lib/pkgconfig

如果是,请将PKG_CONFIG_PATH环境变量指向此路径,您可以在运行mkbundle命令时直接指定它(这只是一个示例):

$ PKG_CONFIG_PATH=/Library/Frameworks/Mono.framework/Versions/XXXX/lib/pkgconfig mkbundle ....