Jump to content
  • Advertisement
Sign in to follow this  
Zesterer

Vala and SFML - compile errors

This topic is 1418 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hello,

 

I'm using the Vala programming language to write a game. I wish to build it using the SFML library as the frontend - the bit that communicates with the window manager (using Linux btw). I'm planning on using OpenGL to render a GL context, then display that using SFML in the window.

 

Luckily, I have found a set of SFML Vala VAPIs (API bindings) and have put them into the right directory. Unfortunately when compiling, I run into issues and I'm not sure why.

 

Here is my Vala code (in sfml.vala)

using GLib;
using SFML.Audio;
using SFML.System;
using SFML.Window;
using SFML.Graphics;

namespace GLib
{
	class Default : Object
	{
		public static int main(string[] args)
		{
			stdout.printf("Hello, World!\n");
			
			return 0;
		}
	}
}

As you can see, I am using SFML. But when I try to compile using this command...

valac src/sfml.vala --pkg sfml-graphics --pkg sfml-system --pkg sfml-window --pkg sfml-audio --vapidir=vapi

...I run into the errors posted below.

sfml-window.vapi:15.2-15.20: error: `SFML.System' already contains a definition for `SFTime'
	public class SFTime {
	^^^^^^^^^^^^^^^^^^^
sfml-system.vapi:15.2-15.20: note: previous definition of `SFTime' was here
	public class SFTime {
	^^^^^^^^^^^^^^^^^^^
sfml-window.vapi:47.2-47.19: error: `SFML.System' already contains a definition for `Clock'
	public class Clock {
	^^^^^^^^^^^^^^^^^^
sfml-system.vapi:47.2-47.19: note: previous definition of `Clock' was here
	public class Clock {
	^^^^^^^^^^^^^^^^^^
sfml-window.vapi:102.2-102.19: error: `SFML.System' already contains a definition for `Mutex'
	public class Mutex {
	^^^^^^^^^^^^^^^^^^
sfml-system.vapi:102.2-102.19: note: previous definition of `Mutex' was here
	public class Mutex {
	^^^^^^^^^^^^^^^^^^
sfml-window.vapi:10.2-10.19: error: `SFML.System' already contains a definition for `Time'
	public struct Time {
	^^^^^^^^^^^^^^^^^^
sfml-system.vapi:10.2-10.19: note: previous definition of `Time' was here
	public struct Time {
	^^^^^^^^^^^^^^^^^^
sfml-window.vapi:79.2-79.26: error: `SFML.System' already contains a definition for `InputStream'
	public struct InputStream {
	^^^^^^^^^^^^^^^^^^^^^^^^^
sfml-system.vapi:79.2-79.26: note: previous definition of `InputStream' was here
	public struct InputStream {
	^^^^^^^^^^^^^^^^^^^^^^^^^
sfml-window.vapi:160.2-160.23: error: `SFML.System' already contains a definition for `Vector2i'
	public struct Vector2i {
	^^^^^^^^^^^^^^^^^^^^^^
sfml-system.vapi:160.2-160.23: note: previous definition of `Vector2i' was here
	public struct Vector2i {
	^^^^^^^^^^^^^^^^^^^^^^
sfml-window.vapi:169.2-169.23: error: `SFML.System' already contains a definition for `Vector2u'
	public struct Vector2u {
	^^^^^^^^^^^^^^^^^^^^^^
sfml-system.vapi:169.2-169.23: note: previous definition of `Vector2u' was here
	public struct Vector2u {
	^^^^^^^^^^^^^^^^^^^^^^
sfml-window.vapi:178.2-178.23: error: `SFML.System' already contains a definition for `Vector2f'
	public struct Vector2f {
	^^^^^^^^^^^^^^^^^^^^^^
sfml-system.vapi:178.2-178.23: note: previous definition of `Vector2f' was here
	public struct Vector2f {
	^^^^^^^^^^^^^^^^^^^^^^
sfml-window.vapi:194.2-194.23: error: `SFML.System' already contains a definition for `Vector3f'
	public struct Vector3f {
	^^^^^^^^^^^^^^^^^^^^^^
sfml-system.vapi:194.2-194.23: note: previous definition of `Vector3f' was here
	public struct Vector3f {
	^^^^^^^^^^^^^^^^^^^^^^
sfml-window.vapi:66.2-66.32: error: `SFML.System' already contains a definition for `ReadDeleg'
	public delegate int64 ReadDeleg (void* data, int64 size, void* userData);
	^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
sfml-system.vapi:66.2-66.32: note: previous definition of `ReadDeleg' was here
	public delegate int64 ReadDeleg (void* data, int64 size, void* userData);
	^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
sfml-window.vapi:69.2-69.32: error: `SFML.System' already contains a definition for `SeekDeleg'
	public delegate int64 SeekDeleg (int64 position, void* userData);
	^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
sfml-system.vapi:69.2-69.32: note: previous definition of `SeekDeleg' was here
	public delegate int64 SeekDeleg (int64 position, void* userData);
	^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
sfml-window.vapi:72.2-72.32: error: `SFML.System' already contains a definition for `TellDeleg'
	public delegate int64 TellDeleg (void* userData);
	^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
sfml-system.vapi:72.2-72.32: note: previous definition of `TellDeleg' was here
	public delegate int64 TellDeleg (void* userData);
	^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
sfml-window.vapi:75.2-75.35: error: `SFML.System' already contains a definition for `GetSizeDeleg'
	public delegate int64 GetSizeDeleg (void* userData);
	^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
sfml-system.vapi:75.2-75.35: note: previous definition of `GetSizeDeleg' was here
	public delegate int64 GetSizeDeleg (void* userData);
	^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
sfml-window.vapi:36.2-36.23: error: `SFML.System' already contains a definition for `_time_zero'
	public Time _time_zero;
	^^^^^^^^^^^^^^^^^^^^^^
sfml-system.vapi:36.2-36.23: note: previous definition of `_time_zero' was here
	public Time _time_zero;
	^^^^^^^^^^^^^^^^^^^^^^
sfml-window.vapi:149.2-149.18: error: `SFML.System' already contains a definition for `sleep'
	public void sleep (Time duration);
	^^^^^^^^^^^^^^^^^
sfml-system.vapi:149.2-149.18: note: previous definition of `sleep' was here
	public void sleep (Time duration);
	^^^^^^^^^^^^^^^^^
Compilation failed: 15 error(s), 0 warning(s)

If you are wondering, the VAPI files are here in this repository: https://bitbucket.org/hohoo/vala-sfml/src/24927cd9f649?at=default

 

Does anyone know why this is happening or how I can fix it?

 

Thanks,

 

Zesterer

Share this post


Link to post
Share on other sites
Advertisement
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!