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

[Code::Blocks]Tworzenie biblioteki statycznej.

Ostatnio zmodyfikowano 2012-10-13 14:52
Autor Wiadomość
ridic14
Temat założony przez niniejszego użytkownika
[Code::Blocks]Tworzenie biblioteki statycznej.
» 2012-10-12 19:04:04
Zrobiłem taką małą bibliotekę do sfml. Biblioteka oczywiście działa ale tylko w projekcie w którym była robiona. A gdy chcę ją wykorzystać w innym projekcie pojawia się problem... W Google doczytałem się tylko tyle że mam stworzyć projekt "Static Library" i dodać do niego moje pliki hpp i cpp mam ich 5par(10 cpp i hpp) a wcześniej usunąłem plik main.c z tego projektu bo uznałem go za zbędność. Po skompilowaniu dostałem komunikat
 
You must select a host application to "run" a library...
Więc znalazłem
But where can I do that?
Menu "Project" -> "Set program's arguments".

Więc dodałem tam "Host application" czyli plik *.exe z mojego działającego projektu.

Wynik: Po skompilowaniu włączyło mi się okno tamtego projektu, więc myślałem że wszystko działa i dodałem do nowego projektu do linkera plik libSUI.a
Efekt:
undefinded reference to "ZX1Z3X2XZ...
 lub coś w tym stylu...

No i tutaj wyczerpują się pomocne zasoby które mógłbym znaleźć.

Więc czy wie ktoś jak takową bibliotekę stworzyć?!
P-66674
cyklopek11
» 2012-10-12 19:10:49
W jakim IDE tworzyłeś tę bibliotekę?
P-66675
DejaVu
» 2012-10-12 19:13:33
1. Tworzysz projekt, a w jego opcjach ustawiasz "static library"
2. Dodajesz do niego wszystkie pliki *.cpp oraz *.hpp (z funkcjami i klasami)
3. W projekcie nie ma być pliku zawierającego funkcję main.
4. Kompilujesz i dostajesz liba.
5. Tworzysz kolejny nowy projekt (już z aplikacją Twoją).
6. Do opcji linkera dorzucasz bibliotekę, która powstała w wyniku kompilacji pierwszego projektu.
7. No i powinno wszystko działać :)
P-66676
ridic14
Temat założony przez niniejszego użytkownika
» 2012-10-12 19:13:43
IDE Code::Blocks gcc
P-66677
ridic14
Temat założony przez niniejszego użytkownika
» 2012-10-12 19:22:52
Niestety nie wiem dlaczego pojawiają się błędy typu
undefined reference to `_imp___ZNK2sf13Transformable11getPositionEv'|
 ale teraz zauważyłem że tu może chodzić o sfml...
P-66678
DejaVu
» 2012-10-12 19:26:38
Jeżeli w swoim libie używasz innych libów to te inne liby też musisz dodać do linkera w projekcie aplikacji.
P-66679
ridic14
Temat założony przez niniejszego użytkownika
» 2012-10-12 19:30:55
Znaczy ja mam tak w aplikacji dodane: swoją bibliotekę libSUI.a i liby sfml (window, graphics itp)
chyba że miałbym zalinkować do libSUI liby sfml?!
P-66681
DejaVu
» 2012-10-12 19:57:19
do aplikacji linkuje się liby, a nie do tworzonych bibliotek.
P-66682
« 1 » 2
  Strona 1 z 2 Następna strona