- Achte darauf, dass du immer die originalen Headerdateien verwendest am besten ist dies zu realisiern in dem man relative Pfäde verwendet anstatt die Dateien bei änderung immer wieder zu kopieren.
Dies wird wohl der Parameterübergabefehler sein der dein Programm zum abstützen bringt.
|
C/C++ Quellcode
|
1
2
3
|
void Init (const string musictitle);
<->
void Init (string musictitle);
|
-> Das sind zwei verschiedene Definitionen, was glausbt was passiert wenn du die Biblitohek kompillierst und anschliessend die Definition änderst und versuchst die Biblotheks-Funktion mit anderen Parametern aufzurufen.
- Für deine Anwendung brauchst du die Bibliotheksdaten der SFML solange nicht einzubinden bis du davon Funktionen verwendest, dein DLL verwendet zwar SFML aber die bindet diese eigenständig ein du musst nur deine Biblothek einbinden.
#pragma comment(lib, "Audio.lib")
#pragma comment(lib, "sfml-audio.lib")
#include <iostream>
#include "Audio_Header.hpp"
#include <SFML\Audio.hpp>
- Wenn du Biblotheken verwendest brauchst du die CPP Dateine nicht mit zu kopieren bzw. nicht mit zu includieren. Der Code ist ja schon in deiner Bibliothek compiliert.
- Schau dir mal noch mal Variablen/ Klassenendeklerationen an.
class _declspec(dllimport) lwtAudio::Audio myAudio;
- Versuch die Funktionsaufrufparameter immer richtig an zugeben, zu mindest mit einer explitzieten Typenkonventierung
string musictitle;
...
m.OpenFromFile(musictitle.c_str())
Siehe definition OpenFromFile
OpenFromFile (const
std::string &filename)
Mehr Berichtigungen hab ich jetzt nicht gesehen.
Mfg Rushh0ur