New to SFML, just installed it.
I tried to run the sample included in Code::Blocks -
#include <SFML/Graphics.hpp>
int main()
{
// Create the main window
sf::RenderWindow App(sf::VideoMode(800, 600), "SFML window");
// Load a sprite to display
sf::Image Image;
if (!Image.LoadFromFile("cute_image.jpg"))
return EXIT_FAILURE;
sf::Sprite Sprite(Image);
// Start the game loop
while (App.IsOpened())
{
// Process events
sf::Event Event;
while (App.GetEvent(Event))
{
// Close window : exit
if (Event.Type == sf::Event::Closed)
App.Close();
}
// Clear screen
App.Clear();
// Draw the sprite
App.Draw(Sprite);
// Update the window
App.Display();
}
return EXIT_SUCCESS;
}
- it compiles fine, but when it runs I get error:
"symbol lookup error: /usr/local/lib/libsfml-window.so.1.6: undefined symbol: _ZN2sf7Unicode11UTF8OffsetsE"
So I try to compile it outside of CB with g++ using -lsfml-graphics -lsflm-window -lsflm-system again it compiles OK, but get the same error when it runs.
So I come to these forums and google to look for help, but nothing suggested works for me.
While here I find another sample file -
#include <SFML/Audio.hpp>
#include <SFML/Graphics.hpp>
int main()
{
// Create the main window
sf::RenderWindow App(sf::VideoMode(800, 600), "SFML window");
// Load a sprite to display
sf::Image Image;
if (!Image.LoadFromFile("cute_image.jpg"))
return EXIT_FAILURE;
sf::Sprite Sprite(Image);
// Create a graphical string to display
sf::Font Arial;
if (!Arial.LoadFromFile("arial.ttf"))
return EXIT_FAILURE;
sf::String Text("Hello SFML", Arial, 50);
// Load a music to play
sf::Music Music;
if (!Music.OpenFromFile("nice_music.ogg"))
return EXIT_FAILURE;
// Play the music
Music.Play();
// Start the game loop
while (App.IsOpened())
{
// Process events
sf::Event Event;
while (App.GetEvent(Event))
{
// Close window : exit
if (Event.Type == sf::Event::Closed)
App.Close();
}
// Clear screen
App.Clear();
// Draw the sprite
App.Draw(Sprite);
// Draw the string
App.Draw(Text);
// Update the window
App.Display();
}
return EXIT_SUCCESS;
}
- this compiles and runs no problem. When I compare the files I cant see much difference so I strip it back until I get the error again. I commented out all the audio and it ran fine; I then commented out the text/font sections and I get the error at runtime. The error will go away if I leave in the font loading section, even if I then don't display any text, or even an image, -
#include <SFML/Audio.hpp>
#include <SFML/Graphics.hpp>
int main()
{
// Create the main window
sf::RenderWindow App(sf::VideoMode(800, 600), "SFML window");
// Load a sprite to display
/* sf::Image Image;
if (!Image.LoadFromFile("cute_image.jpg"))
return EXIT_FAILURE;
sf::Sprite Sprite(Image);
*/
// Create a graphical string to display
sf::Font Arial;
if (!Arial.LoadFromFile("arial.ttf"))
return EXIT_FAILURE;
// sf::String Text("Hello SFML", Arial, 50);
// Load a music to play
/* sf::Music Music;
if (!Music.OpenFromFile("nice_music.ogg"))
return EXIT_FAILURE;
// Play the music
Music.Play();
*/
// Start the game loop
while (App.IsOpened())
{
// Process events
sf::Event Event;
while (App.GetEvent(Event))
{
// Close window : exit
if (Event.Type == sf::Event::Closed)
App.Close();
}
// Clear screen
App.Clear();
// Draw the sprite
// App.Draw(Sprite);
// Draw the string
// App.Draw(Text);
// Update the window
App.Display();
}
return EXIT_SUCCESS;
}
Can anyone explain this?
SFML 1.6
gcc 4.6.1
linux mint 12
*Edited formatting
**Edited formatting (again)(thanks eXpl0it3r)