GetProcAddress kann nicht finden, meine Funktionen

Machte ich eine DLL mit einer Funktion namens "render()" und ich möchte, um es zu laden dynamisch an meiner Bewerbung, aber GetProcAddress kann es nicht finden. Hier ist die DLL .h:

#ifdef D3D_API_EXPORTS
#define D3D_API_API __declspec(dllexport)
#else
#define D3D_API_API __declspec(dllimport)
#endif

D3D_API_API void render();

Und hier die DLL .cpp:

#include "stdafx.h"
#include "D3D_API.h"
#include <iostream>

D3D_API_API void render()
{
    std::cout << "method called." << std::endl;
}

Hier ist die Anwendung, die versucht, diese Funktion zu verwenden:

#include "stdafx.h"
#include <windows.h>
#include <iostream>

int _tmain(int argc, _TCHAR* argv[])
{
    HINSTANCE myDLL = LoadLibrary( L"D3D_API.dll" );

    if (myDLL == NULL) {
        std::cerr << "Loading of D3D_API.dll failed!" << std::endl;
    }

    typedef void (WINAPI *render_t)();

    render_t render = (render_t)GetProcAddress( myDLL, "render" );

    if (render == NULL) {
        std::cerr << "render() not found in .dll!" << std::endl;
    }
    return 0;
}

Mein Ziel ist es eine 3D-engine unterstützt sowohl D3D und OpenGL durch Ihre eigenen .DLLs mit einem einheitlichen API. Ich schaute auf die .dll im Editor, und es war ein string "Rendern".

Schreibe einen Kommentar