未定义的“___divmodsi4”链接Monotouch项目与本机库的包装器

时间:2012-09-16 07:46:39

标签: xamarin.ios linker-errors

我为twilio iOS库构建了一个包装器。我使用以下LinkWith

[assembly: LinkWith ("libTwilioClient.a", LinkTarget.ArmV6 | LinkTarget.ArmV7 | LinkTarget.Simulator, ForceLoad = true ,Frameworks="MediaPlayer SystemConfiguration AVFoundation")]

在Monotouch绑定项目中。

当我创建一个使用上面的包装程序库的iPad项目时,我收到以下错误

Undefined symbols for architecture armv7:
  "___divmodsi4", referenced from:
      _jbuf_update in libTwilioClient.a(jbuf.o)
      _pjmedia_jbuf_get_frame2 in libTwilioClient.a(jbuf.o)
      _pjmedia_rtcp_rx_rtp2 in libTwilioClient.a(rtcp.o)
      _pjmedia_rtcp_rx_rtcp in libTwilioClient.a(rtcp.o)
      _rec_cb in libTwilioClient.a(audiotest.o)
      _play_cb in libTwilioClient.a(audiotest.o)
  "___udivmodsi4", referenced from:
      _update_filter in libTwilioClient.a(resample.o)
ld: symbol(s) not found for architecture armv7

此时我不知道如何解决

1 个答案:

答案 0 :(得分:1)

该函数是编译器用来实现比几条CPU指令更复杂的数学运算的助手。您是否可以使用一个编译器构建库,现在链接到不同的环境和不同的编译器?如果您使用gcc构建,则libgcc.a将提供该功能。