本机链接错误无法为 XXX 不使用标准框架创建压缩展开 (MT5209)
Native linking error could not create compact unwind for XXX does not use standard frame (MT5209)
我正在使用 Xamarin 并尝试在我的 iPad 上安装一个 iOS 应用程序。
我想要link一个Ada静态库。
所以我有一个 libMyLibrary.a
+ libgnat.a
文件和一个 C 头代码 (MyLibrary.h
)。
- 在 Xamarin 中,我创建了一个绑定库项目并添加了我的库。
- 在 Xamarin 中,我添加了上述项目作为对我的 iPad 应用程序的引用。
为了与库通信,我使用了 P/Invoke 和 DllImport(“__Internal”)
以及我的库的程序集(所以我没有任何 MTouch 参数) :
[assembly: LinkWith(“libMyLibrary.a”, SmartLink=true, ForceLoad=true)]
[assembly: LinkWith(“libgnat.a”, SmartLink=true, ForceLoad=true)]
但是当我将它部署到 iPad 时,我有很多本机 linking 错误:
Native linking error: warning: could not create compact unwind for XXX does not use standard frame (MT5209)
我尝试使用 monotuch 参数但没有成功:
-Wl,-no_compact_unwind
!参见 ld: warning: too many personality routines for compact unwind to encode and https://software.intel.com/en-us/forums/intel-math-kernel-library/topic/279914
LDFLAGS="-Wl,-no_compact_unwind
:参见 https://bugzilla.mozilla.org/show_bug.cgi?id=1188030#c14
有什么想法吗?
配置:
- iOS 10.3.2
- Xamarin 6.3
- 部署目标 10.3
在为此苦苦挣扎了几天之后,我们想出了一些可行的办法。
我们为 Monotouch 提供的确切指令如下:
-gcc_flags "-L${ProjectDir} -lMyLibrary -lgnat -force_load ${ProjectDir}/libMyLibrary.a -Wl,-no_compact_unwind"
注意:
- gnat lib文件放在一边
libMyLibrary.a
- libMylibrarry 在命令中被引用了两次
还有……瞧!
看来是我第一次没加好...
我正在使用 Xamarin 并尝试在我的 iPad 上安装一个 iOS 应用程序。
我想要link一个Ada静态库。
所以我有一个 libMyLibrary.a
+ libgnat.a
文件和一个 C 头代码 (MyLibrary.h
)。
- 在 Xamarin 中,我创建了一个绑定库项目并添加了我的库。
- 在 Xamarin 中,我添加了上述项目作为对我的 iPad 应用程序的引用。
为了与库通信,我使用了 P/Invoke 和 DllImport(“__Internal”)
以及我的库的程序集(所以我没有任何 MTouch 参数) :
[assembly: LinkWith(“libMyLibrary.a”, SmartLink=true, ForceLoad=true)]
[assembly: LinkWith(“libgnat.a”, SmartLink=true, ForceLoad=true)]
但是当我将它部署到 iPad 时,我有很多本机 linking 错误:
Native linking error: warning: could not create compact unwind for XXX does not use standard frame (MT5209)
我尝试使用 monotuch 参数但没有成功:
-Wl,-no_compact_unwind
!参见 ld: warning: too many personality routines for compact unwind to encode and https://software.intel.com/en-us/forums/intel-math-kernel-library/topic/279914LDFLAGS="-Wl,-no_compact_unwind
:参见 https://bugzilla.mozilla.org/show_bug.cgi?id=1188030#c14
有什么想法吗?
配置:
- iOS 10.3.2
- Xamarin 6.3
- 部署目标 10.3
在为此苦苦挣扎了几天之后,我们想出了一些可行的办法。
我们为 Monotouch 提供的确切指令如下:
-gcc_flags "-L${ProjectDir} -lMyLibrary -lgnat -force_load ${ProjectDir}/libMyLibrary.a -Wl,-no_compact_unwind"
注意:
- gnat lib文件放在一边
libMyLibrary.a
- libMylibrarry 在命令中被引用了两次
还有……瞧!
看来是我第一次没加好...