我正在尝试使用 xbuild(在 OSX 10.8 上)从命令行构建本机 monobjc 包。我使用 Xamarin Studios 和 Monobjc 插件构建了我的 Cocoa 应用程序。我可以成功运行“创建 Monobjc Bundle”>“导出为本机应用程序”并获得可再分发的应用程序。但是,当我尝试从终端运行 xbuild 命令时,我得到以下信息:
$xbuild /p:Configuration=Release TestProject.csproj /t:BundleNative 构建失败。 错误: /Users/Test/Documents/test/TestProject.csproj (BundleNative) -> /Library/Frameworks/Mono.framework/Versions/2.10.12/lib/mono/4.0/Monobjc.CocoaApplication.targets(CoreBundleNative 目标)-> /Library/Frameworks/Mono.framework/Versions/2.10.12/lib/mono/4.0/Monobjc.CocoaApplication.targets:错误:clang:警告:编译期间未使用的参数:'-pthread' /Library/Frameworks/Mono.framework/Versions/2.10.12/lib/mono/4.0/Monobjc.CocoaApplication.targets:错误:执行任务EncryptFiles时出错:未设置必需的属性“EncryptionSeed”。 0 个警告 2 个错误
我已将 csproj 的 <EncryptionSeed> 属性设置为任意值,以查看这是否是问题所在。但很可惜,我一无所获。如您所见,我使用的是通过 Xamarin 安装的 Mono 2.10.12(SDK)和 Monobjc 4.0.2167.11。任何帮助,将不胜感激。
更新 1:我通过 monobjc 下载页面 (5.0.2165.0) 中的 monobjc 包安装最新的 monobjc 桥接器修复了加密种子错误,但仍然存在关于 pthread 的错误,该错误发生在嵌入应用程序步骤中:
正在编译... 参数:' -Os -gdwarf-2 -arch i386 -mmacosx-version-min=10.8 -I"bin/Release//Embed" -c "bin/Release//Embed/main.c" -o "bin/Release //嵌入/main.o" -D_THREAD_SAFE -I/Library/Frameworks/Mono.framework/Versions/2.10.12/include/mono-2.0 ' -pthread -L/Library/Frameworks/Mono.framework/Versions/2.10.12/lib -lmono-2.0 -lpthread 正在链接... 参数:' -arch i386 -mmacosx-version-min=10.8 -L"bin/Release//Embed" -pthread -L/Library/Frameworks/Mono.framework/Versions/2.10.12/lib -lmono-2.0 -lpthread -lz -lmonobjc -lTest_exe -lMono_Posix_dll -lMono_Security_dll -lMonobjc_AppKit_dll -lMonobjc_dll -lMonobjc_Foundation_dll -lMonobjc_ScriptingBridge_dll -lmscorlib_dll -lMSWordInterface_dll -lSystem_Configuration_dll -lSystem_Core_dll -lSystem_dll -lSystem_Runtime_Serialization_dll -lSystem_Security_dll -lSystem_Xml_dll -lmachine_config -o "bin/Release//Embed/Test" "bin /Release//嵌入/main.o" ' /Library/Frameworks/Mono.framework/Versions/2.10.12/lib/mono/4.0/Monobjc.CocoaApplication.targets:错误:clang:警告:编译期间未使用的参数:'-pthread' 嵌入完成