OS X上的Eclipse CDT抱怨gcc内置功能:"Function '__builtin_bzero' could not be resolved"

Eclipse CDT on OS X complaining about gcc built-in function: "Function '__builtin_bzero' could not be resolved"

本文关键字:bzero builtin could not resolved be 上的 Eclipse 功能 内置 gcc      更新时间:2023-10-16

我正在Eclipse CDT中作为makefile项目编写一些c++网络代码,但Eclipse抱怨FD_ZERO。编译运行良好。

最小示例:

#include <arpa/inet.h>
void test()
{
    fd_set fds;
    FD_ZERO(&fds);
}

这在中显示为"Eclipse is Function '__builtin_bzero' could not be resolved"错误。

FD_ZERO是在"sys/select.h"中定义的宏

sys/select.h:#define    FD_ZERO(p)  __DARWIN_FD_ZERO(p)

在CCD_ 4中,我们可以发现CCD_ 5被定义为对gcc内置函数的调用。

#define __DARWIN_FD_ZERO(p)     __builtin_bzero(p, sizeof(*(p)))

我在CDT中选择了macosx工具链,没有更改任何其他选项。有什么解决这个问题的想法吗?

我注意到这个问题还没有得到回答,所以为了完整性,这是我的解决方案:

请改用memset(&fds, 0, sizeof fds);

问题很简单,__builtin_bzero就是这样,它是在编译器级别内置的。CDT不知道这一点,因为它有自己的解析器。