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

[SFML] Ze stringów deklaracją problem mam

Ostatnio zmodyfikowano 2011-12-17 18:51
Autor Wiadomość
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:
C/C++
#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.
C/C++
sf::String Text;
Działa jak należy. Niestety już:
C/C++
txt.SetText( "Aaaa" );
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ć.
P-45748
pekfos
» 2011-12-17 15:38:40
A masz potrzebne liby w linkerze, panie Yoda?
P-45751
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:
C/C++
sf::RenderWindow oknoAplikacji( sf::VideoMode( 800, 600, 32 ), "Cos tam" );
bez problemu i działa: http://img535.imageshack.us/img535/1277/costamzc.jpg
P-45754
pekfos
» 2011-12-17 16:31:03
To mam taki żarcik:
-co jest złe i gryzie?
...
-na pewno nie google.
a morał jest taki:
http://lmgtfy.com/?q=resolving+vtable+for+sf%3A%3AString+by+linking+to
P-45760
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.
P-45763
pekfos
» 2011-12-17 16:41:49
To może linkuj dynamiczne. :)
P-45765
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.
P-45766
pekfos
» 2011-12-17 18:03:03
Pliki .a i .lib linkujesz tak samo, czyli możesz założyć, że są takie same.
P-45784
« 1 » 2
  Strona 1 z 2 Następna strona