0

我正在尝试将 Mono Runtime (v 3.0.4) 与 MonoMac 应用程序合并,但由于升级到 3.0.4(从 2.10.11),因此失败并出现以下错误:

Merging Mono Runtime into app bundle
/Applications/MonoDevelop-old.app/Contents/MacOS/lib/monodevelop/AddIns/MonoDevelop.MonoMac/mmp 
-nolink "-minos=10.6.6" 
-o "/Users/ted/Documents/XCode/Mac/StageTimer/StageTimer/bin/Release" 
-n "StageTimer" 
-a "/Library/Frameworks/Mono.framework/Versions/3.0.4/lib/mono/4.0/System.dll"
-a "/Library/Frameworks/Mono.framework/Versions/3.0.4/lib/mono/4.0/System.Xml.dll"
-a "/Library/Frameworks/Mono.framework/Versions/3.0.4/lib/mono/4.0/System.Core.dll"
-a "/Library/Frameworks/Mono.framework/Versions/3.0.4/lib/mono/4.0/System.Xml.Linq.dll"
-a "/Library/Frameworks/Mono.framework/Versions/3.0.4/lib/mono/4.0/System.Drawing.dll"
-a "/Applications/MonoDevelop-old.app/Contents/MacOS/lib/monodevelop/AddIns/MonoDevelop.MonoMac/MonoMac.dll"
"/Users/ted/Documents/XCode/Mac/StageTimer/StageTimer/bin/Release/StageTimer.exe"

Process exited with code 1, command:
pkg-config --variable=prefix mono-2

Unhandled Exception: System.IO.DirectoryNotFoundException: Directory '/lib/mono/4.0' not found.

即使我将 MonoDevelop 配置为使用 Mono 2.10.11 而不是 3.0.4,它也会失败并出现相同的错误(和路径:'/lib/mono/4.0')。接下来我还尝试修改 /Library/Frameworks/Mono.framework/Versions/Current 中的符号链接以指向 2.10.11 但仍然是相同的错误和路径。

任何具有单声道和 pkg-config 技能的人都知道如何配置它?

4

1 回答 1

1

当 F# 编译器尝试与 Mono 3.0.4(而不是 3.0.3)一起运行时,类似的问题也发生了。该问题归结为 Mono 中的一个错误修复,该错误修复可防止与 homebrew pkg-config 设置发生冲突。F# 源代码中采用的解决方法是硬编码 Mono 的 pkg-config 的路径。

通过在启动 MonoDevelop 时重写环境变量 PKG_CONFIG_PATH,您可能会得到与此相同的结果,这样:

PKG_CONFIG_PATH=/path/were/mono/pc/files/are/in/Mac:$PKG_CONFIG_PATH monodevelop

确切的路径必须在 /Library/Frameworks/Mono.framework/Versions/Current/ 下面的某个地方,只需注意扩展名为 .pc 的文件。

于 2013-03-02T19:43:31.600 回答