Segmenation fault cokolwiek jest w edytorze

0

no teraz może mnie nie banujcie za nick ok?
kod wygląda tak

#include <iostream>
using namespace std;
int main()
{
    cout << "nic";
}

dostaje błąd segmentation fault, kompilatorem jest g++,

takie coś wpisuje mi visual studio code w terminalu

C:\msys64\mingw64\bin\g++.exe -fdiagnostics-color=always -g "C:\Users\asd\OneDrive\Dokumenty\cpp projects\secondproject.cpp" -o "C:\Users\asd\OneDrive\Dokumenty\cpp projects\secondproject.exe"

i jest Build finished successfully.

a taki jest błąd

Thread 1 received signal SIGSEGV, Segmentation fault.
0x00007ff8a6bf91c6 in std::basic_ostream<char, std::char_traits<char> >::sentry::sentry (this=this@entry=0x5ffde0, __os=...) at ./build/x86_64-w64-mingw32-posix/x86_64-w64-mingw32/libstdc++-v3/include/bits/ostream.tcc:51
3
  1. Upewnij się, że gcc jest w zmiennej środowiskowej PATH powinno zawierać:C:\msys64\mingw64\bin
  2. W jakim katalogu wywołujesz tą komendę?
  3. Radziłbym kompilować z katalogu projektu, czyli:
    cd "C:\Users\asd\OneDrive\Dokumenty\cpp projects\"
    g++ -fdiagnostics-color=always secondproject.cpp secondproject.exe -Wall -Wextra -pedantic -Werror
    
  4. Albo jeszcze lepiej użyj jakiegoś narzędzia do budowania: make cmake ninja ..... , które za ciebie załatwi jak używać kompilatora.
3

Parę lat temu MinGW miało buga związanego z windowsowymi zakończeniami linii, które objawiało się logiem bardzo podobnym do Twojego w prostych "Hello Worldach" https://github.com/KimuraRyo/BSDFProcessor/issues/16

Moja ogólna rekomendacja byłaby taka, nie używaj g++ na windowsie, a jeśli bardzo chcesz to spróbuj zainstalować inną wersję mingw niż tą, którą masz obecnie.

0

moje dość krótkie doświadczenie z msys2 sugeruje aby wycinać z PATH wszystko co zbędne ,
najlepiej zostawić c:\windows + folder gdzie jest kompilator .
Na Linux mozna miec 3 wersje gcc i 5 wersji clang i działa to bez problemu
Na Windows dwa kompilatory w PATH to za dużo :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1