Çözüldü db gmake komutu hatası

Bu konu çözüme ulaştırılmıştır. Çözüm için konuya yazılan tüm yorumları okumayı unutmayın. Eğer konudaki yorumlar sorununuzu çözmediyse yeni bir konu açabilirsiniz.
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.

iCheezy

Çaylak Üye
Üye
Mesaj
15
Beğeni
4
Puan
10
Ticaret Puanı
0
db/gmake -j14 komutunda hata alıyorum 'StLocale' ayarlamalarını videoya göre yaptım game_r40020 dosyasını oluşturabildim ama db_r400020 dosyasını oluşturamıyorum

1618145818395.png
 
Gmake komutu ile alakası yok. StLocale tanımı DBManager.cpp'nin 172. satırında ve o tanım kullanılmıyor diye hata veriyor.
 
dbmanager:
#include "stdafx.h"
#include "DBManager.h"
#include "ClientManager.h"

extern std::string g_stLocale;

CDBManager::CDBManager()
{
    Initialize();
}

CDBManager::~CDBManager()
{
    Destroy();
}

void CDBManager::Initialize()
{
    for (int i = 0; i < SQL_MAX_NUM; ++i)
    {
        m_mainSQL[i] = NULL;
        m_directSQL[i] = NULL;
        m_asyncSQL[i] = NULL;
    }
}

void CDBManager::Destroy()
{
    Clear();
}

void CDBManager::Clear()
{
    for (int i = 0; i < SQL_MAX_NUM; ++i)
    {
        if (m_mainSQL[i])
        {
            delete m_mainSQL[i];
            m_mainSQL[i] = NULL;
        }

        if (m_directSQL[i])
        {
            delete m_directSQL[i];
            m_directSQL[i] = NULL;
        }

        if (m_asyncSQL[i])
        {
            delete m_asyncSQL[i];
            m_asyncSQL[i] = NULL;
        }
    }

    Initialize();
}

void CDBManager::Quit()
{
    for (int i = 0; i < SQL_MAX_NUM; ++i)
    {
        if (m_mainSQL[i])
            m_mainSQL[i]->Quit();

        if (m_asyncSQL[i])
            m_asyncSQL[i]->Quit();

        if (m_directSQL[i])
            m_directSQL[i]->Quit();
    }
}

SQLMsg * CDBManager::PopResult()
{
    SQLMsg * p;

    for (int i = 0; i < SQL_MAX_NUM; ++i)
        if (m_mainSQL[i] && m_mainSQL[i]->PopResult(&p))
            return p;

    return NULL;
}

SQLMsg * CDBManager::PopResult(eSQL_SLOT slot)
{
    SQLMsg * p;

    if (m_mainSQL[slot] && m_mainSQL[slot]->PopResult(&p))
            return p;

    return NULL;
}
int CDBManager::Connect(int iSlot, const char * db_address, const int db_port, const char * db_name, const char * user, const char * pwd)
{
    if (db_address == NULL || db_name == NULL)
        return false;

    if (iSlot < 0 || iSlot >= SQL_MAX_NUM)
        return false;

    sys_log(0, "CREATING DIRECT_SQL");
    m_directSQL[iSlot] = new CAsyncSQL2;
    if (!m_directSQL[iSlot]->Setup(db_address, user, pwd, db_name, g_stLocale.c_str(), true, db_port))
    {
        Clear();
        return false;
    }


    sys_log(0, "CREATING MAIN_SQL");
    m_mainSQL[iSlot] = new CAsyncSQL2;
    if (!m_mainSQL[iSlot]->Setup(db_address, user, pwd, db_name, g_stLocale.c_str(), false, db_port))
    {
        Clear();
        return false;
    }

    sys_log(0, "CREATING ASYNC_SQL");
    m_asyncSQL[iSlot] = new CAsyncSQL2;
    if (!m_asyncSQL[iSlot]->Setup(db_address, user, pwd, db_name, g_stLocale.c_str(), false, db_port))
    {
        Clear();
        return false;
    }

    return true;
}

SQLMsg * CDBManager::DirectQuery(const char * c_pszQuery, int iSlot)
{
    return m_directSQL[iSlot]->DirectQuery(c_pszQuery);
}

extern CPacketInfo g_query_info;
extern int g_query_count[2];

void CDBManager::ReturnQuery(const char * c_pszQuery, int iType, IDENT dwIdent, void * udata, int iSlot)
{
    assert(iSlot < SQL_MAX_NUM);
    //sys_log(0, "ReturnQuery %s", c_pszQuery);
    CQueryInfo * p = new CQueryInfo;

    p->iType = iType;
    p->dwIdent = dwIdent;
    p->pvData = udata;

    m_mainSQL[iSlot]->ReturnQuery(c_pszQuery, p);

    //g_query_info.Add(iType);
    ++g_query_count[0];
}

void CDBManager::AsyncQuery(const char * c_pszQuery, int iSlot)
{
    assert(iSlot < SQL_MAX_NUM);
    m_asyncSQL[iSlot]->AsyncQuery(c_pszQuery);
    ++g_query_count[1];
}

unsigned long CDBManager::EscapeString(void *to, const void *from, unsigned long length, int iSlot)
{
    assert(iSlot < SQL_MAX_NUM);
    return mysql_real_escape_string(m_directSQL[iSlot]->GetSQLHandle(), (char *) to, (const char *) from, length);
}

void CDBManager::SetLocale(const char * szLocale)
{
    const std::string stLocale(szLocale);
    sys_log(0, "SetLocale start" );
    for (int n = 0; n < SQL_MAX_NUM; ++n)
    {
        m_mainSQL[n]->SetLocale(StLocale);
        m_directSQL[n]->SetLocale(StLocale);
        m_asyncSQL[n]->SetLocale(StLocale);
    }
    sys_log(0, "End setlocale %s", szLocale);
}

void CDBManager::QueryLocaleSet()
{
    for (int n = 0; n < SQL_MAX_NUM; ++n)
    {
        m_mainSQL[n]->QueryLocaleSet();
        m_directSQL[n]->QueryLocaleSet();
        m_asyncSQL[n]->QueryLocaleSet();
    }
}
Gmake komutu ile alakası yok. StLocale tanımı DBManager.cpp'nin 172. satırında ve o tanım kullanılmıyor diye hata veriyor.
.cpp dosyasını ve bir çok Makefile dosyasını da videoda saniye saniye takip edip düzenledim db dosyasında sıkıntıyla karşılaştım kodu ekledim belki gözümden bir şey kaçmıştır
 
172. 173 ve 174. satırda ki StLocale kısmının başındaki S'yi küçük s olarak değiştirip dener misiniz?
 
Çözüm
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst