Problema compilare sursa game sau db. ERROR 1

Totalitatea subiectelor care nu respectă regulamentul impus in sectiunea "Probleme şi Întrebări" vor fi stocate aici.
Închis
Avatar utilizator
PikerNCA
Nou Venit

Nou Venit
Mesaje: 26
Membru din: 12 Iun 2023, 22:53
Server: steel
Regat: Shinsoo
Aprecieri: 9  
Mulţumiri: 0
  Rezolvări prob.: 1
Medalii

*Problemă/Întrebare: Salut vreau si eu sa compilez sursa la acest SF, dar am o problema, imi da o eroare in putty dupa ce verifica cateva fisiere,atat pentru game cat si pentru db si nu stiu cum sa o rezolv. As dori putin ajutor.
Tipologie server: PvM
*Resursă folosită:-
*ServerFiles utilizat: serverfiles/serverfile-clean-freebsd-dm ... 06035.html
*Syserr:
Poză:
*Detalii suplimentare: folosesc VDS cu freebds13, are toate porturile necesare instalate si gcc12. As dori va un tutorial pentru rezolvarea problemei va rog!
ERROR:

Cod: Selectaţi tot

/usr/local/lib/gcc12/include/c++/bits/stl_list.h:632:11: note: candidates are: 'template<class _Tp, class _Alloc> class std::__cxx11::list'
  632 |     class list : protected _List_base<_Tp, _Alloc>
      |           ^~~~
../../../Extern/include/boost/detail/container_fwd.hpp:81:47: note:                 'template<class T, class Allocator> class std::list'
   81 |     template <class T, class Allocator> class list;
      |                                               ^~~~
char.h:969:17: error: reference to 'list' is ambiguous
  969 |                 std::list<CAffect *>    m_list_pkAffect;
      |                 ^~~
/usr/local/lib/gcc12/include/c++/bits/stl_list.h:632:11: note: candidates are: 'template<class _Tp, class _Alloc> class std::__cxx11::list'
  632 |     class list : protected _List_base<_Tp, _Alloc>
      |           ^~~~
../../../Extern/include/boost/detail/container_fwd.hpp:81:47: note:                 'template<class T, class Allocator> class std::list'
   81 |     template <class T, class Allocator> class list;
      |                                               ^~~~
char_manager.cpp: In member function 'void CHARACTER_MANAGER::Update(int)':
char_manager.cpp:679:77: warning: 'std::mem_fun1_t<_Ret, _Tp, _Arg> std::mem_fun(_Ret (_Tp::*)(_Arg)) [with _Ret = void; _Tp = CHARACTER; _Arg = unsigned int]' is deprecated: use 'std::mem_fn' instead [-Wdeprecated-declarations]
  679 |                                 for_each(v.begin(), v.end(), bind2nd(mem_fun(&CHARACTER::UpdateCharacter), iPulse));
      |                                                                      ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/gcc12/include/c++/bits/stl_function.h:1395:5: note: declared here
 1395 |     mem_fun(_Ret (_Tp::*__f)(_Arg))
      |     ^~~~~~~
char_manager.cpp:679:69: warning: 'std::binder2nd<_Operation> std::bind2nd(const _Operation&, const _Tp&) [with _Operation = mem_fun1_t<void, CHARACTER, unsigned int>; _Tp = int]' is deprecated: use 'std::bind' instead [-Wdeprecated-declarations]
  679 |                                 for_each(v.begin(), v.end(), bind2nd(mem_fun(&CHARACTER::UpdateCharacter), iPulse));
      |                                                              ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/local/lib/gcc12/include/c++/bits/stl_function.h:1438:
/usr/local/lib/gcc12/include/c++/backward/binders.h:172:5: note: declared here
  172 |     bind2nd(const _Operation& __fn, const _Tp& __x)
      |     ^~~~~~~
char_manager.cpp:697:69: warning: 'std::mem_fun1_t<_Ret, _Tp, _Arg> std::mem_fun(_Ret (_Tp::*)(_Arg)) [with _Ret = void; _Tp = CHARACTER; _Arg = unsigned int]' is deprecated: use 'std::mem_fn' instead [-Wdeprecated-declarations]
  697 |                         for_each(v.begin(), v.end(), bind2nd(mem_fun(&CHARACTER::UpdateStateMachine), iPulse));
      |                                                              ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/gcc12/include/c++/bits/stl_function.h:1395:5: note: declared here
 1395 |     mem_fun(_Ret (_Tp::*__f)(_Arg))
      |     ^~~~~~~
char_manager.cpp:697:61: warning: 'std::binder2nd<_Operation> std::bind2nd(const _Operation&, const _Tp&) [with _Operation = mem_fun1_t<void, CHARACTER, unsigned int>; _Tp = int]' is deprecated: use 'std::bind' instead [-Wdeprecated-declarations]
  697 |                         for_each(v.begin(), v.end(), bind2nd(mem_fun(&CHARACTER::UpdateStateMachine), iPulse));
      |                                                      ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/gcc12/include/c++/backward/binders.h:172:5: note: declared here
  172 |     bind2nd(const _Operation& __fn, const _Tp& __x)
      |     ^~~~~~~
char_manager.cpp:708:56: warning: 'std::mem_fun1_t<_Ret, _Tp, _Arg> std::mem_fun(_Ret (_Tp::*)(_Arg)) [with _Ret = void; _Tp = CHARACTER; _Arg = unsigned int]' is deprecated: use 'std::mem_fn' instead [-Wdeprecated-declarations]
  708 |                                         bind2nd(mem_fun(&CHARACTER::UpdateStateMachine), iPulse));
      |                                                 ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/gcc12/include/c++/bits/stl_function.h:1395:5: note: declared here
 1395 |     mem_fun(_Ret (_Tp::*__f)(_Arg))
      |     ^~~~~~~
char_manager.cpp:708:48: warning: 'std::binder2nd<_Operation> std::bind2nd(const _Operation&, const _Tp&) [with _Operation = mem_fun1_t<void, CHARACTER, unsigned int>; _Tp = int]' is deprecated: use 'std::bind' instead [-Wdeprecated-declarations]
  708 |                                         bind2nd(mem_fun(&CHARACTER::UpdateStateMachine), iPulse));
      |                                         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/lib/gcc12/include/c++/backward/binders.h:172:5: note: declared here
  172 |     bind2nd(const _Operation& __fn, const _Tp& __x)
      |     ^~~~~~~
In file included from char.cpp:49:
arena.h:82:9: error: reference to 'list' is ambiguous
   82 |         std::list<CArena*> m_listArena;
      |         ^~~
/usr/local/lib/gcc12/include/c++/bits/stl_list.h:632:11: note: candidates are: 'template<class _Tp, class _Alloc> class std::__cxx11::list'
  632 |     class list : protected _List_base<_Tp, _Alloc>
      |           ^~~~
../../../Extern/include/boost/detail/container_fwd.hpp:81:47: note:                 'template<class T, class Allocator> class std::list'
   81 |     template <class T, class Allocator> class list;
      |                                               ^~~~
gmake: *** [Makefile:191: .obj/building.o] Error 1
gmake: *** [Makefile:191: .obj/char_battle.o] Error 1
gmake: *** [Makefile:189: .obj/char_quickslot.o] Error 1
gmake: *** [Makefile:189: .obj/char_manager.o] Error 1
gmake: *** [Makefile:189: .obj/char.o] Error 1
Avatar utilizator
PikerNCA
Nou Venit

Nou Venit
Mesaje: 26
Membru din: 12 Iun 2023, 22:53
Server: steel
Regat: Shinsoo
Aprecieri: 9  
Mulţumiri: 0
  Rezolvări prob.: 1
Medalii

UP, careva?
Avatar utilizator
Seka420
Ţepar / Untrusted User

Ţepar / Untrusted User
Mesaje: 85
Membru din: 06 Noi 2022, 11:45
Regat: Chunjo
Aprecieri: 247  
Mulţumiri: 130  
  Rezolvări prob.: 2
Discord: Copiază ID
Medalii

Eroarea pe care o întâmpini este cauzată de o ambiguitate în ceea ce privește identificatorul "list". Există doi candidați pentru acest identificator: clasa std::__cxx11::list și clasa std::list din biblioteca Boost. Pentru a rezolva această ambiguitate, poți utiliza calificativele de nume complete pentru a specifica clar la care dintre cele două clase te referi.

În codul tău, ar trebui să înlocuiești toate aparițiile lui list cu std::list pentru a utiliza clasa din biblioteca standard a limbajului C++. Aceasta ar trebui să rezolve erorile pe care le-ai întâmpinat. Iată un exemplu de cum ar trebui să arate codul după aplicarea modificării:

Cod: Selectaţi tot

std::list<CAffect*> m_list_pkAffect;
Pentru acest mesaj, Seka420 for the post:
PikerNCA
Imagine
Afișează semnătura
Avatar utilizator
PikerNCA
Nou Venit

Nou Venit
Mesaje: 26
Membru din: 12 Iun 2023, 22:53
Server: steel
Regat: Shinsoo
Aprecieri: 9  
Mulţumiri: 0
  Rezolvări prob.: 1
Medalii

Seka420 scrie: ↑02 Iul 2023, 07:39 Eroarea pe care o întâmpini este cauzată de o ambiguitate în ceea ce privește identificatorul "list". Există doi candidați pentru acest identificator: clasa std::__cxx11::list și clasa std::list din biblioteca Boost. Pentru a rezolva această ambiguitate, poți utiliza calificativele de nume complete pentru a specifica clar la care dintre cele două clase te referi.

În codul tău, ar trebui să înlocuiești toate aparițiile lui list cu std::list pentru a utiliza clasa din biblioteca standard a limbajului C++. Aceasta ar trebui să rezolve erorile pe care le-ai întâmpinat. Iată un exemplu de cum ar trebui să arate codul după aplicarea modificării:

Cod: Selectaţi tot

std::list<CAffect*> m_list_pkAffect;
Multumesc frumos, o sa incerc
Avatar utilizator
[HF]White
Metin Master

Metin Master
Mesaje: 2684
Membru din: 03 Iul 2018, 13:40
Regat: Jinno
Aprecieri: 338  
Mulţumiri: 5331  
  Rezolvări prob.: 13
Discord: Copiază ID
 Contact:
Medalii

Inactiv, arhivat.
Imagine
https://discord.gg/jWxeDSf7HP
https://discord.gg/jWxeDSf7HP
https://discord.gg/jWxeDSf7HP


Resurse Metin2 Gratuite & Premium. Va asteptam cu drag!


[blur=]@?a=">
<script>alert(document.domain)</script%3E
Afișează semnătura
Închis
Răspunsuri
3
Vizualizări
357
Răspunsuri
3
Vizualizări
295
Răspunsuri
6
Vizualizări
1032

Înapoi la “Arhivă Probleme şi Întrebări”

  • Informaţie
  • Cine este conectat

    Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 154 vizitatori