Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

linkowanie bibliotek

Ostatnio zmodyfikowano 2009-05-18 18:33
Autor Wiadomość
ziemianp
Temat założony przez niniejszego użytkownika
linkowanie bibliotek
» 2009-05-14 20:29:38
Mam cały czas problem z linkowaniem bibliotek do projektu. Nie jestem w tym dobry, bo dopiero się uczę, ale może ktoś mi pomoże, objaśni jak to robić. Jakie muszą być spełnione warunki, żeby edytor "widział" wszystkie pliki, biblioteki. Żeby nie pisał, że lokalizacja nie istnieje (tych bibliotek) mimo, że one w danym miejscu są. Albo jak widzi deklaracje, to żeby widział skompilowane pliki z implementacją (binaria?, lib?) - czyli undefined reference. Konkretnie chodzi mi o QtCreator. Jak tam dodać jakieś zewnętrzne biblioteki? Podstawowe z C++ są i można z nich bez większych problemów korzystać. Większych, bo dziwne jest dla mnie, że trzeba w projekcie wpisać dokładną ścieżkę do pliku nagłówkowego.

Dodam, że dodaje w programie parametry przy make -lodpowiednianazwabibl i nic to nie daje.
P-6828
DejaVu
» 2009-05-14 22:57:33
Jeśli używasz Dev-C++ to wykorzystujesz do tego aktualizatora pakietów. Później tworzysz projekt i do projektu dodajesz swoje pliki ze źródłami. Następnie wchodzisz w opcje projektu, wyszukujesz coś takiego jak konsolidator i wpisujesz tam:
-l _nazwa_biblioteki_
Plik na dysku będzie się nazywał:
lib_nazwa_biblioteki_.a

Np. dla allegro _nazwa_biblioteki_=allegro[/b], więc:
plik nazywa się:
liballegro.a
a wpisujesz w konsolidator:
-l allegro

W przypadku qt postępujesz analogicznie.
P-6848
ziemianp
Temat założony przez niniejszego użytkownika
» 2009-05-15 00:23:42
Dzięki za odpowiedź. Niestety nie używam Dev-cpp, choć w nim na szczęście mi wszystko działa. Ale chodzi o to, że robię program, który będzie można uruchamiać w trzech trybach:
- uruchominie w konsoli z parametrami
- widok ncures
- oraz ten nad którym teraz chcę pracować - okienka na bazie biblioteki qt.

I chcę do tego użyć Qt Creator. Nie mam pojęcia co zrobić, aby Qt Creator widział (linkował) te biblioteki. Cały czas mam undefined reference. Problem jest taki, że używam biblioteki Curl i pełni ona istotną rolę w programie. Mogę zrezygnować z ncurses i kompilować bez niej, ale curl musi być.

Generalnie chciałbym, żeby to poszło mi chociaż na linuksie, bo program potem bez problemu ruszy na windows.

Ten kompilator powinien domyślnie widzieć biblioteki, które są zainstalowane linuksie?
P-6853
DejaVu
» 2009-05-15 14:40:51
Konsolidator dołącza biblioteki. Biblioteki te musisz dołączyć ręcznie w wyżej podany sposób (dla kompilatorów Mingw)
P-6871
ziemianp
Temat założony przez niniejszego użytkownika
» 2009-05-18 18:33:49
Problem rozwiązany pod linuksem. W pliku projektu (*.pro) trzeba było napisać:

LIBS += -lcurl -L/usr/lib/
LIBS += -lncurses -L/usr/lib/

Jak mi się uda, to napiszę co trzeba zrobić pod Windowsem.
P-7009
« 1 »
  Strona 1 z 1