3

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

我得到了这些错误

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]

发生了什么?

4

2 回答 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"
于 2014-11-22T07:59:39.123 回答
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 ....
于 2013-08-05T08:44:34.083 回答