Question

my project includes a simple C file with a header. Like this:

#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

When I run XCode's static analyzer, I get the following error:

Analyzer skipped this file due to parse errors

redefinition of 'ImageArray3D' as different kind of symbol

What is the cause of this?

Was it helpful?

Solution

Here is a solution for the problem: 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).

OTHER TIPS

Sounds like your project, or the OS X libraries, already define and use ImageArray3D. Just rename it and it will probably work.

I found the cause of it: If you select XCode's Show issues only, then you won't see the analyzer's errors in a file! Only if you select Show all option, you will see that the analyzer has had problems checking your project.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top