big*_*d12 6 c++ g++ visual-studio windows-subsystem-for-linux c++17
所以我用 wsl 在我的 x64 位 win 10 pro 10.0.17134 上创建了一个 c++ linux 控制台应用程序。
项目编译没有问题,没有显示任何错误。调试基本变量分配按预期工作;
然后当我尝试包含任何 stl 库时,例如#include <iostream>我收到以下错误
128-bit floating-point types are not supported in this configuration
我正在使用 x64 位模式的调试配置。我也尝试谷歌搜索错误,但我似乎无法找到任何相关的答案
我也尝试使用不同的 c++ 版本(c++17、c++11 等...),但我仍然遇到相同的错误。
但即使我收到这些编译错误,程序仍然可以正常运行。
编译器和标准库是不同的东西。
您所看到的是一个不支持 128 位整数的编译器尝试使用需要支持 128 位整数的 std 库。
问题可能是 Intelisense 问题,Intelisense 不知道您的编译器支持 128 位整数,或者无法正确排除它或其他问题。您的图像显示您同时看到 Build 和 Intelisense 错误;如果构建成功,则意味着这些是 Intelisense 错误。
Intelisense 是 MSVC 工具,它尝试解析并确定 C++ 代码中是否存在错误。它不使用您的编译器;相反,它使用快速的第三方编译器。
关闭 Intelisense 可能是解决这些问题的最简单方法。训练 Intelisense 以获得它理解的“正确”标头是可能的,但相当困难,并且可能是一个许多程序员年的项目。
一个快速的方法是获取stdafx.h预编译头,然后执行
#ifdef __INTELLISENSE__ 
using __float128 = long double; // or some fake 128 bit floating point type
#endif
但这可能是一个无休止的螺旋。
可能还有一些方法可以告诉智能感知忽略某些文件中的错误。
| 归档时间: | 
 | 
| 查看次数: | 2097 次 | 
| 最近记录: |