我的月食做红下划线给uint32_t,uint16_t等.虽然我包含了<stdint.h>并设置了预处理器路径!
为了知道为什么会发生这种情况,我查看了<stdint.h>。
#ifndef _GCC_WRAP_STDINT_H
#if __STDC_HOSTED__
# if defined __cplusplus && __cplusplus >= 201103L
# undef __STDC_LIMIT_MACROS
# define __STDC_LIMIT_MACROS
# undef __STDC_CONSTANT_MACROS
# define __STDC_CONSTANT_MACROS
# endif
# include_next <stdint.h> // here
#else
# include "stdint-gcc.h"
#endif
#define _GCC_WRAP_STDINT_H
#endif嗯,我想日食好像认不出#include_next。但我不知道解决办法..。你能给我提个建议吗?
发布于 2017-04-24 07:10:02
首先,为了避免#include_next,我们应该告诉eclipse __STDC_HOSTED__是0。在Project > Properties > C/C++ General > Path and Symbols中,添加__STDC_HOSTED__作为0。
其次,您可以在stdint-gcc.h中看到一些代码,如下所示。
#ifdef __INT8_TYPE__
typedef __INT8_TYPE__ int8_t;
#endif__INT8_TYPE__事物是gcc预定义的宏。我们也必须告诉eclipse关于他们的事。因此,添加gcc -E -dM - < /dev/null 中的所有宏,但我们前面添加的 __STDC_HOSTED__除外。
https://stackoverflow.com/questions/23318481
复制相似问题