2009-10-22 89 views
3

我的项目包含一个带有标题的简单C文件。就像这样:XCode:“由于解析错误,分析器跳过了此文件”

#ifndef __IMAGE_ARRAY_3D 
#define __IMAGE_ARRAY_3D 

typedef struct ImageArray3D { 
    double *data;      // The image data 
    LargeElement *largestElements;  // c * nLargestElements 
    int c, w, h, nLargestElements; 
} tImageArray3D;  // Error points to here 

... 

#endif 

当我运行Xcode的静态分析,我得到以下错误:

Analyzer skipped this file due to parse errors

redefinition of 'ImageArray3D' as different kind of symbol

是什么原因呢?

回答

7

下面是这个问题的解决方案:Solution!

The recommended solution is to add the following to Other C Flags in your project's build settings: -D__IPHONE_OS_VERSION_MIN_REQUIRED=040100 where you replace 040100 with your deployment target version (030000 for 3.0, for example).

+0

更好的是,适当地设置您的项目iOS部署目标: IPHONEOS_DEPLOYMENT_TARGET = 3.2 – geowar 2010-11-04 02:24:10

+0

具体来说,您的项目的“iOS部署目标”构建设置。 – geowar 2010-11-06 06:08:52

1

听起来像您的项目或OS X库,已经定义和使用ImageArray3D。只需重命名它,它可能会工作。

+0

谢谢你,但我的项目没有定义它。 – Norbert 2009-10-27 14:12:19

-9

我找到它的原因: 如果您选择XCode的仅显示问题,那么您将不会在文件中看到分析仪的错误!只有当您选择显示全部选项时,您会看到分析仪在检查项目时遇到问题。

+5

解决方法是不要清扫地毯下的警告。 – 2010-09-13 05:18:29

+0

我没有把它们扫在地毯下面。 XCode被配置为在我改变之前不显示它们。 – Norbert 2010-11-11 09:14:08