• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Dziwne błędy w Visual Studio

Aruba Cloud PRO i VPS, Openstack, VMWare, MS Hyper-V
0 głosów
49 wizyt
pytanie zadane 4 dni temu w C i C++ przez Author[] Gaduła (3,110 p.)

Tworzę w Visual Studio aplikację WinUI 3. W pewnym momencie kod aplikacji stał się chaotyczny więc wyizolowałem poszczególne komponenty (pliki nagłówkowe) i testowałem je oddzielnie (dodatkowe poboczne "Aplikacje konsoli" wg. VS). Wówczas wszystko działało i kompilowało się bez błędów.

Ostatnio chciałem przenieść zmiany w tych komponentach do projektu głównego, w tym celu skopiowałem pliki komponentów i wkleiłem je do folderu projektu WinUI 3.

Przy próbie kompilacji wyskakuje około 60 różnych błędów (w różnych plikach), których opisy nijak mają się do przedstawionych np:

Błąd    C1004    napotkano nieoczekiwany znacznik końca pliku   - wskazuje na początek jednego z plików

Błąd    C2001    w stałej występuje symbol przejścia do następnego wiersza  - żadnego przejścia do nowej linii nie ma


 

Błąd    C2059    błąd składniowy: „)” - tego zwłaszcza nie rozumiem


Błąd    C2059    błąd składniowy: „namespace” (  C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include\numbers    27    - znalazł błąd w pliku nagłówkowym numbers ???

Poza tym występuje jeszcze około 10 rodzajów innych równie absurdalnych błędów.

Dopatrywałem się przyczyn tych problemów w kodowaniu (UTF-8 z BOM), ale niestety na nic nie wpadłem.

Dodam jeszcze że projekt wykorzystuje prekompilowane biblioteki (ale nic nie wskazuje na jakikolwiek błąd z nimi)

Z góry przepraszam wszystkich czytających za tak obszerny opis, jednak nie jestem w stanie zidentyfikować genezy tych błędów.
 

 

komentarz 4 dni temu przez Author[] Gaduła (3,110 p.)
Dodam jeszcze że projekt korzysta z std::20 ze względu na nagłówek concepts

1 odpowiedź

0 głosów
odpowiedź 4 dni temu przez Author[] Gaduła (3,110 p.)
Chaotyczne błędy były w efekcie złożeniem wielu innych mniejszych błędów.

Blędy końca linii i końca pliku były związane z kodowaniem. Problemem okazało się niejednolite kodowanie plików. Ustawienie wszystkich plików na Unicode (1200) pomogło.

Problemy blędów akładniowych wynikały z zadeklarowanego przez Microsoft makra funkcji min i max. Powodowało to że kompilator w zakresie klasy niejako nadpisywał te makra. Polecenie undef min, undef max pomogło.

Pozostałe problemy wynikały ze zmiany w strukturze plików, przez co VS dodał do projektu plik automatycznie generowany zamiast podmienione wersji.

Podobne pytania

+1 głos
4 odpowiedzi 1,446 wizyt
pytanie zadane 13 marca 2018 w C i C++ przez qbic22562 Nowicjusz (210 p.)
0 głosów
0 odpowiedzi 144 wizyt
0 głosów
1 odpowiedź 140 wizyt

90,310 zapytań

138,910 odpowiedzi

311,123 komentarzy

60,024 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Sklep oferujący ćwiczenia JavaScript, PHP, rozmowy rekrutacyjne dla programistów i inne materiały

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...