Welcome, Guest. Please login or register. Did you miss your activation email?

Author Topic: Using edge version on linux  (Read 8642 times)

0 Members and 4 Guests are viewing this topic.

farnoy

  • Newbie
  • *
  • Posts: 14
    • View Profile
Using edge version on linux
« Reply #15 on: August 15, 2011, 10:09:00 pm »
Scratch that, something's wrong again with simple test:

Code: [Select]
       static void Main()
        {
RenderWindow window = new RenderWindow(new VideoMode(800, 600, 32), "SFML.Net Window", Styles.Default, new ContextSettings(32, 32, 16, 0, 1));

Sprite circleSprite = new Sprite(new Texture(@"content\circleSprite.png"));

while (window.IsOpened())
            {
window.Clear(new Color(0, 0, 0));
window.Draw(circleSprite);
window.Display();
}
        }


Output:

Code: [Select]
/usr/bin/mono: symbol lookup error: /home/kuba/devel/galaxier/galaxier/bin/Debug/libcsfml-graphics-2.so: undefined symbol: _ZN2sf7TextureC1Ev

Similar happens when trying to run shader demo:

Code: [Select]
mono: symbol lookup error: /home/kuba/devel/sfml/SFML.Net/examples/shader/libcsfml-graphics-2.so: undefined symbol: _ZN2sf13RenderTextureC1Ev

I'll just use the 1.6 version until 2.0 becomes stable

Laurent

  • Administrator
  • Hero Member
  • *****
  • Posts: 32498
    • View Profile
    • SFML's website
    • Email
Using edge version on linux
« Reply #16 on: August 15, 2011, 10:37:29 pm »
It is stable, you just fail to build/configure/use the whole thing properly ;)

From the error messages, I'd say that you're using CSFML libraries from an older revision (without the sf::Texture class).
Laurent Gomila - SFML developer

farnoy

  • Newbie
  • *
  • Posts: 14
    • View Profile
Using edge version on linux
« Reply #17 on: August 16, 2011, 11:07:05 am »
I'm building and installing SFML, then CSFML and then SFML.Net, everything is compiled from newest sources. I checked csfml-graphics with `nm` and it shows about 10 undefined symbols. Something's using Window.GetInput() but it's no longer present in CSFML, because you replaced it with Keyboard, Joystick classes (as far as I know).

Laurent

  • Administrator
  • Hero Member
  • *****
  • Posts: 32498
    • View Profile
    • SFML's website
    • Email
Using edge version on linux
« Reply #18 on: August 16, 2011, 11:19:27 am »
There's nothing in CSFML sources that's still using the old sf::Input class. I noticed that Input.h is still there (I'll remove it as soon as I come home), but it only contains functions declarations, no code calling sf::Input.
Laurent Gomila - SFML developer

Laurent

  • Administrator
  • Hero Member
  • *****
  • Posts: 32498
    • View Profile
    • SFML's website
    • Email
Using edge version on linux
« Reply #19 on: August 16, 2011, 11:25:58 am »
Can you tell me where those undefined functions are called in the source code? So that we can see if it's your version which is outdated, or me being totally blind :)
Laurent Gomila - SFML developer

farnoy

  • Newbie
  • *
  • Posts: 14
    • View Profile
Using edge version on linux
« Reply #20 on: August 16, 2011, 11:36:17 am »
It's working again... I just copied the same things to MonoDevelop project, but there's this: yesterday I flagged csfml package as out-of-date, today this package has been updated to newest available, so I know what was wrong.

SFML.Net used CSFML from the same dir, but also used SFML from system? I don't know what the update did, because I manually installed SFML before this update, but it's fine now and I won't touch this again until 3.0.

Maybe I should've done `make install --prefix /usr`, but I'm not sure at this point. Anyway, thanks for the help.