"error LNK2019: Verweis auf nicht aufgelöstes externes Symbol"



  • Hi 😉

    Ich versuche derzeit eine Function in einen größeren c++ code zu integrieren. Den kompletten zu posten wäre also schonmal nicht möglich^^

    Hier mal die beiden Functionen um die es sich handelt:

    ---------------------------------------------------------
    int luaUnit_GetGMRank(lua_State * L, Unit * ptr)
    {
    if(!ptr)
    return 0;

    switch(ptr->GetTypeId())
    {
    case TYPEID_PLAYER:
    const char *plName = ((Player*)ptr)->GetName();
    const char *GMRank = ((Player*)ptr)->GetGMRank(plName); //<-- Denke mal hier tritt der, unten genannte, Fehler auf
    lua_pushstring(L,GMRank);
    break;
    }

    return 1;
    }
    ------------------------------------------------------------------------------
    ------------------------------------------------------------------------------
    const char *GetGMRank(const char *plName)
    {
    QueryResult * result1 = CharacterDatabase.Query("SELECT * FROM characters WHERE name = plName");
    int acctnr = result1->Fetch()[2].GetInt8();

    QueryResult * result = CharacterDatabase.Query("SELECT * FROM accounts WHERE acct = acctnr");
    const char *acct = result->Fetch()[1].GetString();

    delete acctnr;
    return acct;
    }
    --------------------------------------------------------------------------------

    Folgender Fehler tritt dabei auf:

    error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""__declspec(dllimport) public: char const * __thiscall Player::GetGMRank(char const *)" (__imp_?GetGMRank@Player@@QAEPBDPBD@Z)" in Funktion ""int __cdecl luaUnit_GetGMRank(struct lua_State *,class Unit *)" (?luaUnit_GetGMRank@@YAHPAUlua_State@@PAVUnit@@@Z)".
    2>../../../bin/release/script_bin/LUAScripting.dll : fatal error LNK1120: 1 nicht aufgelöste externe Verweise.

    Ich habe schon zich mal gegooglet und alles probiert was mir einfällt, aber ich bekomm es einfach nicht auf die Reihe ^^ Ich hoffe ihr könnt mir helfen. Oder zumindest paar Vermutungen anstellen 😉

    Danke schonmal im vorraus



  • kann es sein dass du die methode

    char* Player::GetGMRank(char const*)

    nicht deklariert oder definiert hast?
    oder falsch hast?

    /edit: ja du musst vor GetGMRank noch ein Player:: setzen...



  • Boah du bist mein Held ey!!

    Manchmal sieht man echt den Wald vor Bäumen nicht. 5 STunden sitzt ich nun schon an diesen Fehler und ich Depp sehs nicht, dass ich sowas triviales vergessen habe... Na ja zum Glück gibs ja Leute wie dich, die einen drauf aufmerksam machen^^

    Geht jetzt alles. Fettes Danke!!



  • 5 STunden sitzt ich nun schon an diesen Fehler und ich Depp sehs nicht

    Siehs positiv: Diesen Fehler machst du nie mehr. 😉


Anmelden zum Antworten