首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在visual studio linux c++项目中包含任何stl库时出现“此配置中不支持128位浮点类型”错误。

在visual studio linux c++项目中包含任何stl库时出现“此配置中不支持128位浮点类型”错误。
EN

Stack Overflow用户
提问于 2018-10-02 06:21:45
回答 3查看 2.4K关注 0票数 6

因此,我在我的x64 bit win10pro 10.0.17134上创建了一个带有wsl的c++ linux控制台应用程序。

该项目编译时没有任何问题,也没有显示任何错误。并且调试基本变量赋值如预期的那样工作;

然后,当我尝试包含任何stl库时,例如

我得到以下错误

我正在使用x64位模式的调试配置。我也试着用谷歌搜索这个错误,但我似乎找不到任何相关的答案

我还尝试使用不同的c++版本(c++17、c++11等)。但我仍然得到相同的错误。

但是,即使我得到了这些编译错误,程序仍然可以正确运行。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-10-03 03:37:57

编译器和标准库是不同的东西。

您看到的是一个不支持128位整数的编译器,它试图使用需要支持128位整数的std库。

问题可能是Intelisense的问题,Intelisense不知道你的编译器支持128位整数,或者无法正确排除它或其他什么。您的图像显示您同时看到了构建和Intelisense错误;如果构建成功,这意味着这些都是Intelisense错误。

Intelisense是一个MSVC工具,它试图解析并确定您的C++代码中是否有错误。它不使用您的编译器;相反,它使用快速的第三方编译器。

关闭Intelisense可能是摆脱这些问题的最简单方法。训练Intelisense以获得它所理解的“适当的”头是可能的,但相当困难,而且可能是一个多年的程序员项目。

一个简单的方法就是把你的

预编译头和do

代码语言:javascript
复制
#ifdef __INTELLISENSE__ 
using __float128 = long double; // or some fake 128 bit floating point type
#endif

但这可能是一个无休止的螺旋。

还有一些方法可以告诉intellisense忽略某些文件中的错误。

票数 4
EN

Stack Overflow用户

发布于 2020-02-20 20:30:50

如果它与您的其余代码不冲突,则可以设置

在项目属性|配置属性> C/C++ > IntelliSense |预处理器定义中

这是如果您使用的是GCC标头。对于其他来源,开关可能会有所不同。

票数 3
EN

Stack Overflow用户

发布于 2020-12-06 05:02:16

作为提示,您可以将错误输出设置为Build Only。它默认是Build + Intellisense,正如上面的答案所示,这不一定是您想要的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52599677

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档