xCode要求已经存在的符号

时间:2009-07-13 22:10:49

标签: iphone cocoa-touch

iPhone开发涉及的伏都教永远不会让我感到惊讶。这是我投下的最新十六进制。

我正在开发一个使用routeMe库来显示地图的应用程序。我在模拟器中测试一切,一切都很好。该应用程序还使用iPhone上的GPS功能,因此我决定将其插入设备并进行漫步以查看它产生的数据类型。

编译器抱怨它找不到位于我的模拟器构建目录中的routeMe库,所以我认为我必须以某种方式添加routeMe jugged。我删除了routeMe并完成了嵌入指南中的所有步骤以使其恢复运行(我希望)。

现在xCode要求已经有一堆括号。例如,这一行:

-(void) centerLatLong: (CLLocationCoordinate2D) point animate: (BOOL) animate; 

获得错误:... RMTiledLayerController.h:59:错误:预期')'在'CLLocationCoordinate2D'之前

这条线看起来对我来说很好xCode!这是什么交易?

以下是我收到的所有错误和警告的完整列表,其中一个可能导致问题吗?我没有以任何方式编写或更改编译器所抱怨的任何类,并且两小时前在模拟器上编译的一切都很好。我真的很难过。

/用户

s/timothybowen/Documents/src/thetrailbehind/TrailTracker/lib/routeMe/MapView/Map/RMTiledLayerController.h:59: error: expected ')' before 'CLLocationCoordinate2D'

/Users/timothybowen/Documents/src/thetrailbehind/TrailTracker/lib/routeMe/MapView/Map/RMTiledLayerController.m:46: warning: no '-tileProjection' method found

/Users/timothybowen/Documents/src/thetrailbehind/TrailTracker/lib/routeMe/MapView/Map/RMTiledLayerController.m:108: error: expected ')' before 'CLLocationCoordinate2D'

/Users/timothybowen/Documents/src/thetrailbehind/TrailTracker/lib/routeMe/MapView/Map/RMTiledLayerController.m:110: error: 'RMMercator' undeclared (first use in this function)

/Users/timothybowen/Documents/src/thetrailbehind/TrailTracker/lib/routeMe/MapView/Map/RMTiledLayerController.m:110: warning: 'RMTiledLayerController' may not respond to '-centerMercator:animate:'

i686-apple-darwin9-gcc-4.2.1: /Users/timothybowen/Documents/src/thetrailbehind/TrailTracker/lib/routeMe/MapView/build/Debug-iphonesimulator/libMapView.a: No such file or directory
i686-apple-darwin9-gcc-4.2.1: /Users/timothybowen/Documents/src/thetrailbehind/TrailTracker/lib/routeMe/MapView/build/Debug-iphonesimulator/libMapView.a: No such file or directory

3 个答案:

答案 0 :(得分:1)

要检查两件事,

  • 您列出的错误之前是否有任何错误? RMTiledLayerController.h
  • 中的导入可能存在问题
  • 可能听起来很傻,但请确保您正在查看的文件正好是列出的文件
  

iPhone开发涉及的伏都教永远不会让我感到惊讶。这是我投下的最新十六进制。

作为旁注,iPhone开发中没有涉及voddo,开发环境建立在无数项目使用的gcc之上。

答案 1 :(得分:0)

我非常希望你没有包含CLLocation.h头文件。 这可以解释错误信息。

此外,这个文件确实存在于硬盘上: /Users/timothybowen/Documents/src/thetrailbehind/TrailTracker/lib/routeMe/MapView/build/Debug-iphonesimulator/libMapView.a

如果没有,它将不会链接。仔细检查您是如何添加库的引用的。 此外,错误可能是阻止了库的构建;这可以解释它不在磁盘上。

在带错误的文件中,Apple双击选择器中的类型以查看其定义。我怀疑它会抱怨,或者显示未包含的头文件。

答案 2 :(得分:0)

libMapView.a是我的项目的目标,所以它需要在运行时编译并安装在手机上,我不知道为什么它正在寻找所有发行版的库的模拟器调试版本。

我通过擦除库并检出新副本来修复此错误。我失去了一些工作,但至少我的应用程序现在编译。

客观地说我知道没有涉及伏都教,但是当一个已经编好数周的图书馆突然爆炸你的时候,这肯定是这样的。