Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Dll Problem

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
19.06.2003, 13:40 Uhr
~CPlusPlus
Gast


Hallo alle zusammen,
als erstes schmeiss ich euch mal meinen Code um die Ohren ;)

Dateien der GameEngine.dll
GameEngine.h

C++:
#define GAME_ENGINE_API __declspec(dllexport)

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

#define GE_DLL_HANDLE (GetModuleHandle("GameEngine.dll"))

enum GERESULT
{
    GE_OK        = 0,
    GE_ERROR    = 1
};

class GAME_ENGINE_API CGameEngine
{
    private:
    public:
        static GERESULT    geInit();
        static GERESULT    geExit();
        static GERESULT    geMessageLoop();
};


GameEngine.cpp

C++:
#include "GameEngine.h"

BOOL APIENTRY DllMain( HANDLE hModule,
                       DWORD  ul_reason_for_call,
                       LPVOID lpReserved)
{
    switch(ul_reason_for_call)
    {
    case DLL_PROCESS_ATTACH:
        std::cout << "ATTACH";
        break;
    case DLL_PROCESS_DETACH:
        std::cout << "DETACH";
        break;
    }
    return TRUE;
}

GERESULT CGameEngine::geInit()
{
    std::cout << "Init";
    return GE_OK;
}

GERESULT CGameEngine::geExit()
{
    std::cout << "\nExit";
    return GE_OK;
}

GERESULT CGameEngine::geMessageLoop()
{
    std::cout << "\nLoop";
    return GE_OK;
}



Datei der DLL_Access.exe
Main.cpp

C++:
#include <GameEngine.h>

int main()
{
    CGameEngine::geInit();
    CGameEngine::geMessageLoop();
    CGameEngine::geExit();
    return 0;
}



Mein Problem ist jetzt das der Aufruf geMessageLoop einen Compiler fehler verursacht. Wenn ich versuche die DLL_Access.exe zu Debugen.

Main.obj : error LNK2019: unresolved external symbol "public: static enum GERESULT __cdecl CGameEngine::geMessageLoop(void)" (?geMessageLoop@CGameEngine@@SA?AW4GERESULT@@XZ) referenced in function _main
Debug/DLL_Access.exe : fatal error LNK1120: 1 unresolved externals

Wenn ich den Aufruf von geMessageLoop allerdings weg lasse und Debuge geben die Aufrufe geInit und geExit, einen Text aus.
Kann mir vielleicht bitte jemand helfen?

Dann mal noch eine kleine Frage am Rand in der DLLMain wiso geben case DLL_PROCESS_ATTACH und case DLL_PROCESS_DETACH keinen Text aus?

Vielen dank schon einmal im voraus

-- richtigen Code - Tag eingefügt --

Dieser Post wurde am 19.06.2003 um 18:30 Uhr von Uwe editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: