[SFML] Ze stringów deklaracją problem mam
Ostatnio zmodyfikowano 2011-12-17 18:51
sasquatch1988 Temat założony przez niniejszego użytkownika |
[SFML] Ze stringów deklaracją problem mam » 2011-12-17 14:33:25 Witam was. Z SFML przygodę zaczynam dopiero i program pierwszy napisać chciałem. Tak tylko poprzeglądać sobie co oferuje biblioteka, a przy okazji przeklikać kurs zamieszczony na cpp0x.pl ;). Jednak przy próbie skompilowania tego: #include <iostream> #include <SFML/Window.hpp> #include <SFML/Graphics.hpp>
int main() { sf::String Text( "Hello SFML" ); return 0; } Pojawia się to: Undefined reference to 'sf::Unicode::Text::Text(char const*)' ||Info: resolving vtable for sf::String by linking to __imp___ZTVN2sf6StringE | [EDIT]: Samo zadeklarowanie zmiennej nie powoduje porblemu. Działa jak należy. Niestety już: Się sypie. Domyślam się, że to jakiś głupi błąd związany z moim brakiem wiedzy na temat stringów, ale wciąż nie umiem sobie z tym poradzić. |
|
pekfos |
» 2011-12-17 15:38:40 A masz potrzebne liby w linkerze, panie Yoda? |
|
sasquatch1988 Temat założony przez niniejszego użytkownika |
» 2011-12-17 16:15:42 Tak, tak. Znaczy mam nadzieje, że tak. Zamieszczam co dopisałem: W search directories > Compiler C:\Program Files (x86)\CodeBlocks\include . To folder gdzie trzymam biblioteki SFML-a. A w project build options > Linker settings > Debug > Link libraries Dodałem: "..\..\..\..\..\..\Program Files (x86)\CodeBlocks\MinGW\lib\libsfml-graphics-d.a" "..\..\..\..\..\..\Program Files (x86)\CodeBlocks\MinGW\lib\libsfml-window-d.a" To samo dla release (tylko bez -d). Dodam, że aplikacja w której np. tworze nowe okno, wczytuje sprite jakieś z dysku, wyświetlam prymitywy czy pobieram klawisze buduje i odpala się bez problemu. Dopiero po dopisaniu czegokolwiek ze stringiem jako argumentem zaczyna się sypać. Np. linijka: MyFont.LoadFromFile("arial.ttf", 50); Również się nie zbuduje z powodu tego stringa jako parametr. Zbuduje się jednak np. taka: sf::RenderWindow oknoAplikacji( sf::VideoMode( 800, 600, 32 ), "Cos tam" );
bez problemu i działa: http://img535.imageshack.us/img535/1277/costamzc.jpg |
|
pekfos |
» 2011-12-17 16:31:03 |
|
sasquatch1988 Temat założony przez niniejszego użytkownika |
» 2011-12-17 16:40:01 Hmm to nie do końca rozwiązuje mój problem. Przeinstalować biblioteki próbowałem 2 razy a i dołączenie <SFML/Graphics/String.hpp> Nic nie daje... Googlowałem wcześniej dość sporo na ten temat szukając rozwiązań w przypadku takiego błędu i zwykle pisze o tym co robić gdy korzystam z linkowania dynamicznego. Ja jednak, tak jak pan Fabi w http://www.sfml-dev.org/forum/viewtopic.php?t=450&sid=a0ee04b5b5e7efbcee4b1935c5861a3c linkuje biblioteki statycznie. |
|
pekfos |
» 2011-12-17 16:41:49 To może linkuj dynamiczne. :) |
|
sasquatch1988 Temat założony przez niniejszego użytkownika |
» 2011-12-17 16:43:57 Hmm.. spróbuje. Nie robiłem tego jednak nigdy, więc zobaczymy ile czasu zajmie mi odkopanie się z tysiąca errorów :P. Dziękuje za cierpliwość. Ok mam tępe pytanie: Pobrałem wersję SFML-a dla C::B. Mam tam pliki z rozszerzeniem .a. Czy one działają w taki sam sposób jak pliki z rozszerzeniem .lib.? Pytam, bo czytam sobie o wykorzystywaniu bibliotek na: http://www.learncpp.com/cpp-tutorial /a3-using-libraries-with-codeblocks/I wole się upewnić, że to nie w tym miejscu robię coś źle. |
|
pekfos |
» 2011-12-17 18:03:03 Pliki .a i .lib linkujesz tak samo, czyli możesz założyć, że są takie same. |
|
« 1 » 2 |