【问题标题】:Receiving SIGABRT error when launching TTPhotoviewController in iPhone在 iPhone 中启动 TTPhotoviewController 时收到 SIGABRT 错误
【发布时间】:2010-01-13 15:49:44
【问题描述】:

我正在创建一个 iPhone 应用程序,其中包含一些功能,例如骑行路线和 Photoviewer。

对于这些循环路线,我使用 Cloudmade api,对于 PhotoViewer,我使用 Three20 的 TTPhotoviewcontroller。

这些循环路线图完美无缺,但我认为它与我遇到的错误有关。

我将在下面描述 2 个案例,说明我尝试了什么以及遇到了什么问题。

案例 1: 编译出错并收到以下错误:

duplicate symbol _aatan2 in /Users/wesleycoppens/Documents/MooiWest/libs/Proj4/Device/libProj4.a(aasincos.o) and /Users/wesleycoppens/Documents/MooiWest/libs/route-me/Device/libMapView.a(aasincos.o)
Command /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 failed with exit code 1

当我尝试将标志 -all_load 添加到其他链接器标志时,我收到此错误。 在此处查看下图,我的其他链接器标志目前的样子。

图片见link

案例 2: 编译顺利,应用程序在模拟器中完美运行,但在设备上接收 SIGABRT。

在这种情况下,我在其他链接器标志中删除了标志 -all_load。现在我没有收到任何编译错误,但是在点击链接到 photoviewer 应用程序的 tablerow 时我收到了 SIGABRT。

我不确定我是否正确链接到 Photoviewer,所以这是我推送另一个 photoview 的部分。

PhotoTest2Controller *photoViewController = [[PhotoTest2Controller alloc] init];
[self.navigationController pushViewController:photoViewController animated:YES];
[photoViewController release];

这里还有另一个链接器的屏幕截图,说明了在这种情况下它们是如何定义的:

请参阅link 获取图片:

【问题讨论】:

    标签: c xcode three20 cloudmade sigabrt


    【解决方案1】:

    我终于找到了解决方案。除了出现重复错误的库之外,您可以在所有需要的库中使用“-force_load path_to_library/libXXX.a”,而不是使用“-all_load”标签。它对我有用!希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 2011-05-25
      • 2022-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-06
      • 1970-01-01
      • 2012-01-08
      • 1970-01-01
      相关资源
      最近更新 更多