Der Destruktur/Konstruktor von sf:
tring sind in der selben DLL, das ist nicht das Problem (wäre es das, wären DLLs in C++ völlig unbenutzbar
).
Darum geht es nicht. Worum es mir ging ist folgendes: sf:: String::toAnsiString() returned offenbar einen std::string by Value. Das kann nur so lange gut gehn, solange dll und exe
exakt die gleiche Implementierung von std::string benutzen. Bei der geringsten Abweichung wird das in die Luft fliegen. Und derartige Abweichungen können schon aus nur einem einzelnen unterschiedlichen Compilerflag resultieren.
Natürlich kann man dlls von C++ aus nutzen, aber C++
in der Schnittstelle einer dll ist wie Nitroglycerin
Ich bin mir ziemlich sicher dass das Problem hier aus der Verwendung von toAnsiString() und entsprechender Inkompatibilität der benutzten SFML dll mit der exe (unterschiedliche Compiler oder Flags, z.B. Kombination von Debug exe mit Release dll) resultiert. Darum nochmal die Frage: Warum genau musst du unbedingt toAnsiString() benutzen? Ich seh in der Anwendung keinen unmittelbaren Grund das zu tun. Abgesehen davon: Hast du die SFML selbst kompiliert? Wenn nicht, dann tu das und pass auf die richtige dll/lib mit der richtigen exe zu linken.
Von der SDL würd ich auf jeden Fall abraten. Fix besser deine Probleme mit der SFML