在OSX上使用Mono mkbundle

3
我正在尝试使用mono的mkbundle创建C#应用程序的独立版本,我已经安装了Xcode和Mono开发工具包(我确定是MDK而不是运行时)。然而,当我使用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个回答

3

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"

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 ....

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接