Aller au contenu
Top-Metin2.org - Vous êtes à la recherche d'un serveur Metin 2 ? ×
×
×
  • Créer...
  • 0

Erreur compilation game


MacDonarty

Question

Bonjour, j'obtiens cette erreur alors que mes deux fichiers sont identiques (sur un autre serveur où le système fonctionne très bien, système "Achievment"): 

 

Comment corriger ça ? ^^

compile questlua_global.cpp
questlua_global.cpp: In function 'int quest::_mysql_direct_query(lua_State*)':
questlua_global.cpp:1348: error: 'DBManager' has not been declared
gmake: *** [OBJDIR/questlua_global.o] Error 1
root@host:/usr/src/mainline/Srcs/Server/game/src #

 

Voici l'ajout en question : 

 

	int _mysql_direct_query(lua_State* L)
{
	// char szQuery[1024];

	if (!lua_isstring(L, 1))
		return 0;
	// strncpy(szQuery, lua_tostring(L, 1), sizeof(szQuery));

	int i=0, m=1;
	MYSQL_ROW row;
	MYSQL_FIELD * field;
	MYSQL_RES * result;
	// SQLMsg * pMsg = DBManager::instance().DirectQuery(szQuery);
	std::auto_ptr pMsg(DBManager::instance().DirectQuery(lua_tostring(L, 1)));
	if (pMsg.get())
	{
		// ret1 (number of affected rows)
		lua_pushnumber(L, pMsg->Get()->uiAffectedRows);
		//-1 if error such as duplicate occurs (-2147483648 via lua)
		//   if wrong syntax error occurs (4294967295 via lua)
		// ret2 (table of affected rows)
		lua_newtable(L);
		if ((result = pMsg->Get()->pSQLResult) &&
				!(pMsg->Get()->uiAffectedRows == 0 || pMsg->Get()->uiAffectedRows == (uint32_t)-1))
		{
			// LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();
			// ch->ChatPacket(CHAT_TYPE_INFO, "<%s> Retrieved %u fields\n", __FUNCTION__, mysql_num_fields(result));
			// ch->ChatPacket(CHAT_TYPE_INFO, "<%s> Retrieved %u rows\n", __FUNCTION__, mysql_num_rows(result));
			// ch->ChatPacket(CHAT_TYPE_INFO, "<%s> Affected %u rows\n", __FUNCTION__, pMsg->Get()->uiAffectedRows);
			// ch->ChatPacket(CHAT_TYPE_INFO, "<%s> Num %u rows\n", __FUNCTION__, pMsg->Get()->uiNumRows);

			while((row = mysql_fetch_row(result)))
			{
				lua_pushnumber(L, m);
				lua_newtable(L);
				while((field = mysql_fetch_field(result)))
				{
					lua_pushstring(L, field->name);
					if (!(field->flags & NOT_NULL_FLAG) && (row[i]==NULL))
					{
						// lua_pushstring(L, "NULL");
						lua_pushnil(L);
					}
					else if (IS_NUM(field->type))
					{
						double val = NAN;
						lua_pushnumber(L, (sscanf(row[i],"%lf",&val)==1)?val:NAN);
					}
					else if (field->type == MYSQL_TYPE_BLOB)
					{
						lua_newtable(L);
						for (DWORD iBlob=0; iBlob < field->max_length; iBlob++)
						{
							lua_pushnumber(L, row[i][iBlob]);
							lua_rawseti(L, -2, iBlob+1);
						}
					}
					else
						lua_pushstring(L, row[i]);
					// LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();
					// ch->ChatPacket(CHAT_TYPE_INFO, "<%s> Retrieved %d flag %s for %s\n", __FUNCTION__, field->type, field->name, row[i]?row[i]:"NULL");
					lua_rawset(L, -3);
					i++;
				}
				mysql_field_seek(result, 0);
				i=0;

				lua_rawset(L, -3);
				m++;
			}
		}
	}
	else {lua_pushnumber(L, 0); lua_newtable(L);}

	// delete pMsg;
	return 2;
}

 

Merci !

 

EDIT: Déjà eu la même erreur auparavant ! Il faut ajouter en haut du fichier : 

#include "db.h"

 

 

 

Bis'! Résolu ! :)

Lien vers le commentaire
Partager sur d’autres sites

  • Réponses 1
  • Créé
  • Dernière réponse

Meilleurs contributeurs dans cette question

Jours populaires

Meilleurs contributeurs dans cette question

1 réponse à cette question

Messages recommandés

Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.


  • brilliantdiscord_widget
  • Flux d'Activité

    1. 6

      problème de connexion à mon serveur local (je suis débutant dans ce genre d'entreprise )

    2. 2

      problème de lancement serveur

    3. 9
    4. 0

      [PVM/PVP] ATLAX2 - EASY PLAY

    5. 2

      problème de lancement serveur

Information importante

Conditions d’utilisation / Politique de confidentialité / Règles / Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.