dllexport/Dllimport Arbeiten geladen, legen Sie sich vor Ihren Klassennamen in der Header-Datei und Sie sind gut zu gehen.
Normalerweise möchten Sie dllexport in der dll verwenden, und dllimport in der exe (aber Sie können einfach dllexport überall und es funktioniert, macht es 'richtig' macht es minimal schneller zu laden).
Offensichtlich ist das für die Link-Zeit-Kompilierung. Sie können die Linker-Direktive/delayload verwenden, um sie 'dynamisch' zu machen, aber das ist wahrscheinlich nicht das, was Sie von der Betreffzeile wollen.
Wenn Sie wirklich eine LoadLibrary-Format laden möchten, müssen Sie Ihre C++ - Funktionen mit "extern C" Wrapper umschließen. Das Problem liegt am Namen Mangling, Sie könnten den vollständig entstellten Namen eingeben und es würde funktionieren. Die Problemumgehungen bieten im Allgemeinen eine C-Funktion, die einen Zeiger auf die korrekte Klasse zurückgibt - COM funktioniert auf diese Weise, da es 4 C-Funktionen aus einer DLL exportiert, die zum Abrufen der Schnittstellenmethoden innerhalb des Objekts in der DLL verwendet werden .
Sollten diese 'SomeClass' Namen Sternchen haben (d. H. Zeiger auf' SomeClass' sein)? –