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

question-closed c++ Code blocks nagle zmienił komendę wywoływania kompilatora

0 głosów
859 wizyt
pytanie zadane 18 lutego 2019 w C i C++ przez Człowiek Początkujący (350 p.)
zamknięte 18 lutego 2019 przez Człowiek

W skrócie chodzi o to, że na początku stworzyłem zwykły program, gdzie głównym plikiem był main.cpp. Gdy go kompilowałem, wywoływana była w build logu komenda

mingw32-g++.exe -g -std=c++14 -IC:\SFML\SFML-2.4.2-windows-gcc-6.1.0-mingw-32-bit\SFML-2.4.2\include -c D:\Projekty\Projekt 1\main.cpp -o obj\Debug\main.o

Gdy jednak dodałem kilka klas i parę plików, komenda ta nagle się zmieniła:

mingw32-g++.exe -Cat -g -std=c++14 -IC:\SFML\SFML-2.4.2-windows-gcc-6.1.0-mingw-32-bit\SFML-2.4.2\include -c D:\Projekty\Projekt 1\dog.cpp -o obj\Debug\dog.o

Nie wiem jak przywrócić tę starą. Wygląda na to, że plik dog.cpp stał się nowym plikiem main. Zastanawia mnie też fragment 

-Cat

Dla czego nazwa tej klasy pojawiał się w build logu?

 W main.cpp mam zaincludowane inne klasy, bez których inne nie działają, więc musi się ona kompilować jako pierwsza. Jak przywrócić main.cpp do komendy kompilatora?

komentarz zamknięcia: Rozwiązano
komentarz 18 lutego 2019 przez Człowiek Początkujący (350 p.)
Nadal to samo :/

Zmienia mi w wywołaniu main.cpp na dog.cpp i dodaje -Cat
komentarz 18 lutego 2019 przez Człowiek Początkujący (350 p.)
Tak jakby wykrywał coś w dog.cpp jako plik główny projektu. Nawet pojawia mi się ostrzeżenie o #pragma once w pliku main i wskazuje na ten plik :O

 

Edit: Kompiluje mi tylko to co jest w pliku dog.cpp albo jest w nim zaincludowane, pomija całą resztę plików w projekcie
komentarz 18 lutego 2019 przez Człowiek Początkujący (350 p.)

@j23, Mimo wszystko nie wyjaśnia to, dla czego cb uważa plik dog.cpp za plik główny, nawet pomimo tego, iż stworzyłem nowy projekt i wrzuciłem do niego pliki ze starego, gdzie na początku zanim wszystko przerzuciłem, main.cpp był plikiem głównym.

komentarz 18 lutego 2019 przez j23 Mędrzec (195,220 p.)
edycja 18 lutego 2019 przez j23

Mimo wszystko nie wyjaśnia to, dla czego cb uważa plik dog.cpp za plik główny,

Nie ma czegoś takiego jak plik główny. main.cpp różni się od innych plików źródłowych tylko tym, że definiuje funkcję main. Żadnej magii tu nie ma. Widzę to tak, że C::B zaczął kompilację od pliku dog.cpp, a że są w nim błędy polegające na brakujących definicjach klas, kompilacja została zatrzymana. I dlatego w logu masz tylko info o kompilacji dog.cpp. Popraw wszystkie zależności, załącz w plikach źródłowych wszystkie niezbędne nagłówki. Wtedy problemy powinny zniknąć.

 

 

komentarz 18 lutego 2019 przez Człowiek Początkujący (350 p.)

Dzięki, wszystko się ładnie kompiluje smiley

Podobne pytania

0 głosów
0 odpowiedzi 977 wizyt
0 głosów
1 odpowiedź 2,161 wizyt
pytanie zadane 22 marca 2018 w C i C++ przez Haggins Nowicjusz (220 p.)
0 głosów
3 odpowiedzi 1,908 wizyt

93,630 zapytań

142,554 odpowiedzi

323,055 komentarzy

63,136 pasjonatów

Advent of Code 2025

Top 15 użytkowników

  1. 2174p. - dia-Chann
  2. 2153p. - DziarnowskiJ
  3. 2123p. - Łukasz Piwowar
  4. 2105p. - CC PL
  5. 2077p. - raydeal
  6. 1957p. - Maurycy W
  7. 1954p. - Adrian Wieprzkowicz
  8. 1895p. - rucin93
  9. 1887p. - Łukasz Eckert
  10. 1855p. - Michal Drewniak
  11. 1811p. - rafalszastok
  12. 1777p. - robwarsz
  13. 1588p. - Tomasz Bielak
  14. 1491p. - Rafał Trójniak
  15. 1377p. - ssynowiec
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

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

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...