Ошибка «128-битные типы с плавающей точкой не поддерживаются в этой конфигурации» при включении любой библиотеки stl в проект Visual Studio Linux C ++ - PullRequest
0 голосов
/ 02 октября 2018

, поэтому я создал консольное приложение c ++ linux на моем x64 bit win 10 pro 10.0.17134 с wsl.

, проект компилируется без проблем, без каких-либо ошибок.и отладка базовых назначений переменных работает, как ожидалось;

затем, когда я пытаюсь включить любую библиотеку stl, например, #include <iostream>, я получаю следующие ошибки

128-bit floating-point types are not supported in this configuration

error image

Я использую конфигурацию отладки в 64-битном режиме.я также попытался погуглить ошибку, но я не могу найти какой-либо связанный ответ

я также попытался использовать различные версии c ++ (c ++ 17, c ++ 11 и т. д.), но я все ещеполучить ту же ошибку.

, но, хотя я получаю эти ошибки компиляции, программа все равно работает правильно.

1 Ответ

0 голосов
/ 02 октября 2018

Компилятор и стандартная библиотека - это разные вещи.

То, что вы видите, это компилятор, который не поддерживает 128-битные целые числа, пытающийся использовать библиотеку std, которая требует поддержки 128-битных целых чисел.

Проблема может быть в Intelisense, где Intelisense не знает, что ваш компилятор поддерживает 128-битные целые числа или не может правильно исключить его или что-то еще.Ваше изображение показывает, что вы видите ошибки как Build, так и Intelisense;если сборка завершается успешно, это означает, что это ошибки Intelisense.

Intelisense - это инструмент MSVC, который пытается проанализировать и определить, есть ли у вас ошибки в коде C ++.Он не использует ваш компилятор;скорее он использует быстрый сторонний компилятор.

Отключение Intelisense может быть самым простым способом избавиться от этих проблем.Обучение Intelisense получению «правильных» заголовков, которые оно понимает, возможно, но довольно сложно и может быть многолетним программистским проектом.

...