[Code::Blocks]Tworzenie biblioteki statycznej.
Ostatnio zmodyfikowano 2012-10-13 14:52
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ć?! |
|
cyklopek11 |
» 2012-10-12 19:10:49 W jakim IDE tworzyłeś tę bibliotekę? |
|
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ć :) |
|
ridic14 Temat założony przez niniejszego użytkownika |
» 2012-10-12 19:13:43 IDE Code::Blocks gcc |
|
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... |
|
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. |
|
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?! |
|
DejaVu |
» 2012-10-12 19:57:19 do aplikacji linkuje się liby, a nie do tworzonych bibliotek. |
|
« 1 » 2 |