ОШИБКА: , файл 'cstdalign' не найден, работает C ++ 17 - PullRequest
1 голос
/ 13 июля 2020

Я пытаюсь запустить фрагмент кода в Visual Studio Code на macOS Catalina. Код:

#include <bits/stdc++.h>
using namespace std;

int main() 
{ 
    // Create an empty vector 
    vector<int> vect;  
     
    vect.push_back(10); 
    vect.push_back(20); 
    vect.push_back(30); 
  
    for (int x : vect) 
        cout << x << " "; 
  
    return 0; 
} 

Когда я пытаюсь запустить код, используя расширение coderunner , я получаю сообщение об ошибке:

[Running] cd "/Users/VSC_Files/" && g++ -std=c++17 helloworld.cpp -o helloworld && "/Users/VSC_Files/"helloworld
In file included from helloworld.cpp:1:
/usr/local/include/bits/stdc++.h:57:10: fatal error: 'cstdalign' file not found
#include <cstdalign>
         ^~~~~~~~~~~
1 error generated.

[Done] exited with code=1 in 1.465 seconds

По-видимому, это ошибка только для C ++ 11 , тогда почему я получаю эту ошибку? У меня также есть последняя обновленная версия Xcode и последняя стабильная сборка VSCode.

ИЗМЕНИТЬ И ДОБАВЛЕНО ПОЗЖЕ

Кроме того, я хотел бы добавить, что я вручную добавил bits/stdc++.h файл, и его не было раньше.

Кроме того, когда я меняю g++ -std=c++17 на просто g++ при запуске, программа запускается и показывает правильный результат. С предупреждением, как показано ниже. helloworld.cpp:13:15: warning: range-based for loop is a C++11 extension [-Wc++11-extensions]

Есть ли проблема с версией C ++ по умолчанию в ноутбуке mt? Пожалуйста, помогите!

1 Ответ

0 голосов
/ 13 июля 2020

удалить #include<bits/stdc++.h> встроенную запись #include<vector> и #include<iostream> также удалить , используя пространство имен std , это считается плохой практикой, поэтому ваш код выглядит следующим образом:

#include <vector>
#include <iostream>

int main() 
{ 
    // Create an empty vector 
    std::vector<int> vect;  
     
    vect.push_back(10); 
    vect.push_back(20); 
    vect.push_back(30); 
  
    for (int x : vect) 
        std::cout << x << " "; 
  
    return 0; 
} 
...