Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

17.04.2015, 17:16

SFML.NET funktioniert nicht

Hi,

Ich habe mir SFML.NET 2.2 runtergeladen, ein neues Konsolen-Projekt erstellt und die vier Libs verwiesen und dann im Main-Module das geschrieben:

C#-Quelltext

1
2
3
4
5
6
7
8
using System;using System.Collections.Generic;using System.Linq;using System.Text;using SFML.Audio;using SFML.Graphics;using SFML.System;using SFML.Window;
namespace sfmltest{    class Program    {        static void Main(string[] args)        {            // Create the main window            RenderWindow app = new RenderWindow(new VideoMode(800, 600), "SFML window");            app.Closed += new EventHandler(OnClose);
            // Load a sprite to display            Image image = new Image("maxi.jpg");            Sprite sprite = new Sprite(new Texture(image));
            // Start the game loop            while (app.IsOpen)            {                // Process events                app.DispatchEvents();
                // Clear screen                app.Clear(Color.Blue);
                // Draw the sprite                app.Draw(sprite);
                // Update the window                app.Display();            }        }
        static void OnClose(object sender, EventArgs e)        {            // Close the window when OnClose event is received            RenderWindow window = (RenderWindow)sender;            window.Close();        }    }}

(Sorry, aber irgendwie kann man den Code hier nicht besser formatieren :thumbdown: )

Es werden auch keine Fehler angezeigt wenn man das Programm aber starten will kommt das:

(Link)



Was hab ich falsch gemacht?

mfg :)

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

2

17.04.2015, 17:18

Du hast ein AnyCPU or x64 Projekt erstellt und benutzt 32-Bit-DLLs (oder gar keine) von SFML. Wahlweise hast Du ein x86-Projekt und 64-Bit-DLLs. Die .Net-Variante von SFML braucht nicht nur die .Net-DLLs, sondern auch die passenden Standard-SFML-DLLs.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

3

17.04.2015, 17:21

Ich hab ein 64-Bit-System und hab auch die x64 Libs runtergeladen. Ich hab nicht die x86 (32b) dlls runterladen. Also warum gehts nicht?

EDIT: Achso meinst du damit das man die originalen C++-Libs auch benutzen muss damit es funktioniert?

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

4

17.04.2015, 17:24

Ja, man brauch zusätzlich zu den .NET-DLLs von SFML auch noch die normalen C++ DLLs von SFML, denn diese werden von den .NET-DLLs benutzt. Wenn die nicht da sind, ist das ein Problem.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

5

17.04.2015, 17:25

achso und die originalen c++ libs kann man dann genauso verweisen (ich meine Projekt -> Verweis hinzufügen) wie die .net dlls ? ja oder ?

6

17.04.2015, 17:26

und muss ich die für C++ 1.0, 1.1 oder 1.2 nehmen?

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

7

17.04.2015, 17:28

Du musst die nicht als Verweise hinzufügen, das wird auch gar nicht gehen. Sie müssen nur an die richtige Stelle kopiert werden.
1.0, 1.1 oder 1.2? Ich weiß nicht so recht was du damit meinst. SFML ist Version 2.2, welche SFML.Net Version Du hast, das weiß ich nicht.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

8

17.04.2015, 17:32

mit dem 1.0, 1.1, 1.2 meinte ich das es drei Downloads bei den SFML C++ Libs hab eine für C++ 1.0 und 1.1 und 1.2

9

17.04.2015, 17:35

und meinst du mit "die originalen c++ dlls an die richtige kopieren" die dlls in den "Debug/Release" Ordner packen? Das hat nämlich nich funktioniert

Wo soll man die denn sonst hinpacken die originalen c++ libs?

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »GameXCraft« (17.04.2015, 17:42)


Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

10

17.04.2015, 18:58

In deinen Debug/Release Ordner, das war schon richtig. Wichtig ist aber nicht dass du ein x64 System hast sondern dass du auch so eine Anwendung erstellst. Guck mal in die Projekteigenschaften in Visual Studio (Rechtsklick auf das Projekt -> Eigenschaften). Dann fügst du die passenden SFML.Net Bibliotheken als Verweis hinzu und kopierst die zusätzlichen SFML Bibliotheken in den jeweiligen Ordner. Dann sollte es funktionieren.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

Werbeanzeige