我正在使用c ++,它在代码中输入了__uint128_t类型。代码在g ++(GCC)4.8.3上编译得很好,但Eclipse / CDT总是在" __ uint128_t"上显示错误。实际的错误消息是" Type' __ uint128_t'无法解决" 。
我已经尝试了几件事,包括重新索引,将-std = c ++ 11添加到编译器的设置中。有人知道如何使错误消息消失吗?
我正在运行Eclipse Luna Release(4.4.0)和CDT 8.4.0。
答案 0 :(得分:0)
Eclipse将能够正确地解析"只有在工具链的某个标题中定义了此类型。如果它是编译器中的内置类型(就像" int"," char"等等) - 我猜它是 - 那么Eclipse需要有特殊代码来处理类型。因此,除非有人在Eclipse中实现了对此标记的处理,否则您唯一的选择是对使用此类型的文件禁用此特定代码分析检查...
答案 1 :(得分:0)
取消选中"使用项目之间共享的全球提供商"并将-std = c ++ 11添加到" CDT GCC内置编译器设置"中指定的编译器的命令行,可以通过打开项目属性并转到" C找到/ C ++ General"," Preprocessor Include Paths"," Providers"标签
然后重建索引:右键单击项目,"索引","重建"。
有关详细信息,请参阅davmac在帖子中的回答:Type 'uint32_t' could not be resolved
答案 2 :(得分:0)
我在Eclipse Oxygen.3上遇到了类似的困难(Debian 7.10 64位上的CDT 9.4和GCC 4.7.2)。我尝试了截至2018年3月30日在StackOverflow上提到的所有内容都无济于事。
我的项目中的多个标题被多个源文件包含在内。这些标题受 #ifdef 保护,但Eclipse CDT的CODAN代码分析系统似乎不允许这些受保护的标头应用于多个.cpp源文件。因此无法识别返回这些类型的众多类型和功能。
但是在设置 Window>之后偏好> C / C ++>索引器>索引所有标题变体,然后重建项目的索引,后续代码分析运行成功。