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?
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).
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.
精彩评论