SeaMonster131 Temat założony przez niniejszego użytkownika |
[C++] Code::Blocks nie kompiluje » 2010-10-13 21:08:43 Kilka razy natrafiłem na "błąd" w Code::Blocks 10.05. Otóż piszę sobie jakiś tam program no i go kompiluję. Po jakimś tam razie kompiluję a tu nic sie nie zmieniło w moim programie a zmieniłem kod działania programu. Czyli "kompilacja przebiegła pomyślnie ale sie program nie skompilował poprawnie" :) Po prostu C:B pokazuje że program sie kompiluje ale tak naprawde sie nie kompiluje. Spotkał sie ktoś może z podobnym problemem (i wie jak go rozwiązać)? |
|
ison |
» 2010-10-13 21:17:02 program składa się z 1 pliku .cpp? w przypadku dołączania bezpośrednio headerów .h zazwyczaj jest tak, że gdy po skompilowaniu programu zmienisz w nim cokolwiek to i tak IDE nie będzie tego brało pod uwagę i uruchomi program bez kompilacji przykładowo dla: main.cpp #include "Foo.h"
int main() { MyFooFunc(); }
Foo.h: #include <cstdio>
void MyFooFunc() { printf( "!!!!" ); }
w powyższej sytuacji po skompilowaniu kodu możemy nawet wywalić całą funkcję MyFooFunc z Foo.h, a i tak po próbie ponownej kompilacji program się uruchomi - a przynajmniej u mnie się tak często zdarza, nie mam pojęcia z czego to wynika |
|
malan |
» 2010-10-13 21:30:58 Ja się spotkałem z tym "błędem". Modyfikowałem kod programu, kompilowałem i uruchamiałem "ręcznie" (tzn. nie za pomocą C::B). Nagle patrzę, a tu w konsoli widzę tekst "abc", a w kodzie "xyz"... Co się okazało? Pomyliłem wersje ;p. Wchodziłem do katalogu /Relase, a C::B był ustawiony na kompilację w wersji /Debug. Spotkałem się z jeszcze jedną rzeczą (chyba w Visualu). Mianowicie po modyfikacji kodu kompilator wykrył błędy, ale nie poinformował mnie o tym tak jak zawsze - nie przerwał kompilacji tylko uruchomił ostatni poprawny built. |
|
SeaMonster131 Temat założony przez niniejszego użytkownika |
» 2010-10-13 21:38:09 Projekt składa się z 4 plików .cpp oraz 4 plików .h
Hmm...błędów nie powinno być bo wcześniej sie wszystko kompilowało w tym projekcie a ja tylko false na true zmieniłem :) |
|
malan |
» 2010-10-13 21:41:27 W takiej sytuacji to stawiam skrzynkę browarów, że to Ty gdzieś zrobiłeś błąd w kodzie lub czegoś nie dopatrzyłeś. |
|
SeaMonster131 Temat założony przez niniejszego użytkownika |
» 2010-10-13 21:47:53 Jeżeli program sie wcześniej kompilował, a ja teraz zmieniłem wyświetlanie aplikacji z fullscreen na tryb normalny, okienkowy, to nie sądze żebyś był gdzieś błąd choć na to wskazuje... Hmm..no cóż, teraz wyłącze już kompa, jutro włącze i bd dalej szukał to może wpadne na rozwiązanie... :) |
|
wojos |
» 2010-10-13 21:49:13 Może zadam głupie pytanie: a kliknąłeś Build (ctrl+f9) czy Compile current file (ctrl+shift+f9)? I czy log wyświetlił info o kompilacji czy o linkowaniu też? (jeśli używasz GCC to ostatni komunikat po pełnej budowie (kompilacja+linkowanie) zawiera informacje o wielkości stworzonego pliku i jego lokalizacji) |
|
SeaMonster131 Temat założony przez niniejszego użytkownika |
» 2010-10-14 10:02:39 Hm..już doszedłem gdzie był błąd. Nie w kodzie ale linker nie mógł znaleźć odpowiedniego pliku (dziwne, bo ten plik tam jest i wcześniej go znalazł...) :) Naciskałem zawsze Build and Run, ale @up zapytałeś sie czy nacisnąłem to czy to, więc nacisnąłem te CTRL+F9 i wtedy pokazał sie error właśnie ten o braku pliku. Heh, dzięki za pomoc :) |
|
« 1 » 2 |