pierwszy.cxx:
Kod: Zaznacz cały
#include <iostream>
int main()
{
std::cout << "Hello World!";
}
Kod: Zaznacz cały
make: ***Brak reguł do wykonania obiektu `pierwszy.o' Stop.
Z góry dzięki za odpowiedź
.
Kod: Zaznacz cały
#include <iostream>
int main()
{
std::cout << "Hello World!";
}
Kod: Zaznacz cały
make: ***Brak reguł do wykonania obiektu `pierwszy.o' Stop.
Kod: Zaznacz cały
Building in directory: /home/a2m/Projects/Symfonia/pierwszy
make pierwszy.o
make: *** Brak reguł do wykonania `pierwszy.o'. Stop.
Completed unsuccesful
Total time taken: 0 secs
Kod: Zaznacz cały
g++ pierwszy.cxx
Kod: Zaznacz cały
Building in directory: /home/a2m/Projects/Symfonia/pierwszy
make pierwszy.o
Building pierwszy.cpp --> pierwszy.o
Completed succesful
Total time taken: 0 secs
Kod: Zaznacz cały
retrun 0;
Kod: Zaznacz cały
g++ program.cpp -o program
Kod: Zaznacz cały
./program
Gnome dobrze mówi. Jest to kod w postaci wykonywalnej. Przy pisaniu wiekszych progamów kod rozdziela się na więcej plików, żeby było czytelniej. Później każdy z tych plików kompiluje się do plików *.o, a na końcu gcc to wszystko ładnie zlinkuje i utworzy jeden wykonywalny plik z całym programem. Make używa się właśnie do tego, aby wygodnie kompilować tylko te części programu, które zostały zmienione (ma to niebotyczne znaczenie przy testowaniu i poprawianiu programów, których kompilacja w całości trwa kilka godzin). Przy jednoplikowym programie (jak wyżej) nie ma to sensu, jednak ten mechanizm jest w Anjucie włączony i używany przy każdym projekcie. Ucząc się programować lepiej po prostu w Kate i kompiluj ręcznie z konsoli. Jest to wygodniejsze i nie ma tyle bałaganu z pomocniczymi plikami z Anjuty.a2m pisze:Gdy zmienię rozszerzenie pliku z .cxx na .cpp to po otworzeniu w anjucie i wydaniu polecenia kompilacji pojawiają sie następujące komunikaty:nie wiem jednak co to jest ten plik *.o. Gnome we właściwościach mówi że to "kod w postaci skompilowanej" nie mam pojęcia co to jest, ale nie jest wykonywalne.Kod: Zaznacz cały
Building in directory: /home/a2m/Projects/Symfonia/pierwszy make pierwszy.o Building pierwszy.cpp --> pierwszy.o Completed succesful Total time taken: 0 secs
No ja nie do konca sie z tym zgodze, uczac sie programowac warto nauzyc sie tez autmake/autoconf, tyle ze posiada toto prawie tak samo rozbudowana skladnie jak C/C++Ucząc się programować lepiej po prostu w Kate i kompiluj ręcznie z konsoli. Jest to wygodniejsze i nie ma tyle bałaganu z pomocniczymi plikami z Anjuty.
Zgoda, ale nie na samym początku. Kompilując przykłady z Symfonii, czy HelloWorld'a przedstawionego wyżej nie trzeba pisać makefile, ani tym bardziej uczyć się autoconfa. To przydaje się przy pisaniu już rozbudowanych aplikacji. A po co teraz na początku nauki c++ mieszać sobie w głowie i uczyć się równolegle czegoś drugiego równie rozbudowanego. Chodziło mi o to, że do takiej nauki na początku w zupełności wystarcza, a wręcz ułatwia pisanie w Kate (lub innym prostym edytorze tekstu z kolorowaniem składni, Kate to tylko przykład) i kompilowanie w konsoli ręcznie. Przy okazji nauczy się komend kompilatora i będzie później wiedział co robią te wszystkie narzędzia automatyczne. Jak już opanuje c++ na tyle, że będzie pisał większe rzeczy, to łatwiej przyjdzie mu opanowanie autoconfa.giaur pisze:No ja nie do konca sie z tym zgodze, uczac sie programowac warto nauzyc sie tez autmake/autoconf, tyle ze posiada toto prawie tak samo rozbudowana skladnie jak C/C++