Krway Temat założony przez niniejszego użytkownika |
Kilka plików » 2016-07-29 17:43:11 Witam. Zapoznałem się z kursem z tej strony i stwierdziłem, że szkoda tracić czasu i zabrałem się za naukę c++. By sobie utrudnić życie postanowiłem zacząć pisać na linuxie. Main.cpp #include <iostream> using namespace std; #include "head.h"
int test() { int A = 4; int B = 6; int liczba = wieksza( A, B ); cout << "Jedziem z mejna " << liczba << endl; }
int main() { test(); druga(); return 0; } druga.cpp #include <iostream> #include "head.h" using namespace std; int druga() { int a = 9; int c = 8; int liczbaa = wieksza( a, c ); cout << "0dpalono durga" << liczbaa << endl; } head.h int druga(); inline int wieksza( int a, int b ) { if( a < b ) return b; else return a; } I problem jest w tym gdy staram się skompilować plik main.cpp lub druga.cpp za pomocą komendy g++ -o main main.cpp i g++ -o main druga.cpp Kompilacja się nie powodzi i wywala błąd dla pliku main.cpp /tmp/ccjUcixB.o: In function `main': main.cpp:(.text+0x61): undefined reference to `druga()' collect2: error: ld returned 1 exit statu dla pliku druga.cpp /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crt1.o: In function `_start': (.text+0x20): undefined reference to `main' collect2: error: ld returned 1 exit status Muszę robić coś żle ale no nie wiem co siedze z nosem w książce i cały przykład postanowiłem przepisać i wraz podobny błąd. Przypuszczam, że coś z linkowaniem albo złą komende wpisuje. Dzięki za pomoc ;) |
|
carlosmay |
» 2016-07-29 18:04:48 Czy na pewno utworzony jest project i wszystkie pliki są do niego dodane? Wygląda na to, że pliki nie są tworzone w projekcie, tylko każdy jako osobny byt. |
|
Gibas11 |
» 2016-07-29 18:17:07 @carlosmay Nie kompilujesz za często nic w konsoli, prawda? :P @op Albo wygeneruj pliki pośrednie (nie pamiętam przełącznika, chyba -c) i potem linkuj, albo skompiluj to na raz: g++ -o exec main.cpp plik1.cpp plik2.cpp ... |
|
mateczek |
» 2016-07-29 18:18:32 programowanie na Linux nie oznacza rezygnacji z IDE!!! i klepania wszystkiego z konsoli!!! Niżej komendy dla Ubuntu możesz sobie zainstalować codeblocks sudo apt-get install codeblocks
Ja korzystam z qtCreatora sudo apt-get install qtcreator qt5-default
|
|
Gibas11 |
» 2016-07-29 18:22:19 @up Oj tam, niech się uczy korzystać z konsoli, nie zawsze ma się IDE a terminal często jest szybszy jeśli mowa o kompilacji podrzuconego programu itp. Btw propsuję qt creatora. |
|
mateczek |
» 2016-07-29 18:34:27 By sobie utrudnić życie postanowiłem zacząć pisać na linuxie. |
ułatwić życie. Jeśli chodzi o programowanie to na Linux jest łatwiej z prostego powodu!!! Nie musisz własnoręcznie kompilować wielu bibliotek. wystarczy doinstalować pakiety -dev i można korzystać. przykład: https://www.youtube.com/watch?v=Mr6yAf9XpE0 A jak to zrobić na Windows to jest sporo nawet tu na forum !!! |
|
pekfos |
» 2016-07-29 19:14:13 By sobie utrudnić życie postanowiłem zacząć pisać na linuxie. | ułatwić życie. |
Jak tylko przeczytałem te zdanie, już wiedziałem, że ktoś się przyczepi, że "jak to linux utrudnia cokolwiek, przecież wszystko jest 2 razy łatwiejsze", tylko nie wiedziałem kto. No to teraz wiem. Jeśli chodzi o programowanie to na Linux jest łatwiej z prostego powodu!!! Nie musisz własnoręcznie kompilować wielu bibliotek. wystarczy doinstalować pakiety |
Programowanie to w większości pisanie kodu, zaczyna się po zainstalowaniu bibliotek, przygotowaniu szeroko rozumianego środowiska, itd. Skompilowanie lub pobranie biblioteki to koszt jednorazowy, robi się to raz na interesującą nas wersję biblioteki, więc potencjalnie raz na wiele pisanych projektów. Takie ułatwienie niewiele zmienia, bo dotyczy minimalnego ułamka czasu poświęconego na 'programowanie'. Za to zgodzę się, że linux ułatwia kompilowanie bibliotek, chociaż niewiele w tym jego zasługi. |
|
Krway Temat założony przez niniejszego użytkownika |
» 2016-07-29 19:27:28 @Gibas11 Wielkie dzięki! twoja komenda pomogła ;0 Osobiście korzystam z IDE "geany" i dystrybucji Minta. Pisząc o utrudnianiu sobie życia przewidywałem, że takich problemów mogę mieć nieco więcej. Ale za to lepiej nauczę się o linuxie i programowaniu na nim. |
|
« 1 » 2 |