Jump to content
Close
Ramon RBN

Programação [Compilar com MSVS] Problema ao tentar compilar o TFS 1.3 & 8.60

Recommended Posts

Estou com problema ao tentar compilar o TFS 1.3/8.60 no MSVS.

 

Citar

Consegui no linux porém no windows nenhum sucesso.

 

Source usada: Aqui (Github)

 

Já tentei as versões:

MSVS 2019
MSVS 2017
MSVS 2015

Com boost:

boost_1_62_0 (32bit e 64bit)
boost_1_66_0 (32bit e 64bit)

Com SDK:

3.2
2.0

Windows SDK:

10.0.17763.0
10.0.18362.0
8.1

 

Tentei também com vcpkg:

libs 64bit

 

PROBLEMA:

Não é possível abrir arquivo incluir: 'pugixml.hpp': No such file or directorY

image.png.b43e9a631f5b9749a0a9478a07d2d98d.png

 

Imagens com MSVS2017/SDK 3.2/LIB 1_62_32b/

Spoiler

 

image.thumb.png.2238d0f73f43eebc893e3f5e5350e7c2.png

image.thumb.png.be6f1c4963f5d3f3fae82de21633a59e.png

image.thumb.png.78cb2cad4b3061ee693fef7b42310403.png

image.thumb.png.626b884f5c5b8f5058a5673002dc3785.png

 

 


Edited by Ramon RBN (see edit history)

Share this post


Link to post
Share on other sites

Atualização:

Após apagar tudo (boost, sdk, projeto, msvs) e baixar o msvs 2019 junto com o vcpkg x64/x86, consegui compilar porém o TFS não da nenhum sinal de vida. A tela fica preta ao abrir e fecha após um tempo de 1 a 3 segundos.

 

Testei com os projetos:

TFS 1.3
TFS 1.3 downgrade 8.60

CFP:

Visual Studio 2017 (v141)

Tentei também com o v142 porém da erro de memory:

Erro	C2664	'void std::_Normal_allocator_traits<_Alloc>::destroy<_Ty>(_Alloc &,_Ty *)': não é possível converter um argumento 1 de '_Alloc' em '_Alloc &'

 

Log de compilação: 

Spoiler

  otpch.cpp
  actions.cpp
  ban.cpp
  baseevents.cpp
  bed.cpp
  chat.cpp
  combat.cpp
c:\users\pc\desktop\forgottenserver-8.6-downgrade\src\actions.cpp(499): warning C4100: 'isScripted': parâmetro formal não referenciado
  condition.cpp
  configmanager.cpp
  connection.cpp
  container.cpp
  creature.cpp
c:\users\pc\vcpkg\installed\x64-windows\include\boost\variant\detail\forced_return.hpp(40): warning C4459: a declaração de 'dummy' oculta uma declaração global (compilando arquivo de origem ..\src\configmanager.cpp)
  c:\users\pc\desktop\forgottenserver-8.6-downgrade\src\configmanager.cpp(202): note: consulte a declaração de 'dummy'
  c:\users\pc\vcpkg\installed\x64-windows\include\boost\variant\detail\visitation_impl.hpp(162): note: consulte a referência à instanciação da função modelo 'T boost::detail::variant::forced_return<result_type>(void)' que está sendo compilada
          with
          [
              T=result_type
          ] (compilando arquivo de origem ..\src\configmanager.cpp)
  c:\users\pc\vcpkg\installed\x64-windows\include\boost\variant\detail\visitation_impl.hpp(231): note: consulte a referência à instanciação da função modelo 'void boost::detail::variant::visitation_impl_invoke<Visitor,VoidPtrCV,NoBackupFlag>(int,Visitor &,VoidPtrCV,boost::detail::variant::apply_visitor_unrolled *,NBF,long)' que está sendo compilada
          with
          [
              Visitor=boost::detail::variant::destroyer,
              VoidPtrCV=void *,
              NoBackupFlag=boost::variant<boost::blank,std::string,int64_t,double,bool>::has_fallback_type_,
              NBF=boost::variant<boost::blank,std::string,int64_t,double,bool>::has_fallback_type_
          ] (compilando arquivo de origem ..\src\configmanager.cpp)
  c:\users\pc\vcpkg\installed\x64-windows\include\boost\variant\variant.hpp(2339): note: consulte a referência à instanciação da função modelo 'void boost::detail::variant::visitation_impl<first_which,first_step,Visitor,VoidPtrCV,boost::variant<boost::blank,std::string,int64_t,double,bool>::has_fallback_type_>(const int,const int,Visitor &,VoidPtrCV,boost::mpl::false_,NoBackupFlag,Which *,step0 *)' que está sendo compilada
          with
          [
              Visitor=boost::detail::variant::destroyer,
              VoidPtrCV=void *,
              NoBackupFlag=boost::variant<boost::blank,std::string,int64_t,double,bool>::has_fallback_type_,
              Which=first_which,
              step0=first_step
          ] (compilando arquivo de origem ..\src\configmanager.cpp)
  c:\users\pc\vcpkg\installed\x64-windows\include\boost\variant\variant.hpp(2348): note: consulte a referência à instanciação da função modelo 'void boost::variant<boost::blank,std::string,int64_t,double,bool>::internal_apply_visitor_impl<Visitor,void*>(int,int,Visitor &,VoidPtrCV)' que está sendo compilada
          with
          [
              Visitor=boost::detail::variant::destroyer,
              VoidPtrCV=void *
          ] (compilando arquivo de origem ..\src\configmanager.cpp)
  c:\users\pc\vcpkg\installed\x64-windows\include\boost\variant\variant.hpp(2346): note: consulte a referência à instanciação da função modelo 'void boost::variant<boost::blank,std::string,int64_t,double,bool>::internal_apply_visitor_impl<Visitor,void*>(int,int,Visitor &,VoidPtrCV)' que está sendo compilada
          with
          [
              Visitor=boost::detail::variant::destroyer,
              VoidPtrCV=void *
          ] (compilando arquivo de origem ..\src\configmanager.cpp)
  c:\users\pc\vcpkg\installed\x64-windows\include\boost\variant\variant.hpp(1365): note: consulte a referência à instanciação da função modelo 'void boost::variant<boost::blank,std::string,int64_t,double,bool>::internal_apply_visitor<boost::detail::variant::destroyer>(Visitor &)' que está sendo compilada
          with
          [
              Visitor=boost::detail::variant::destroyer
          ] (compilando arquivo de origem ..\src\configmanager.cpp)
  c:\users\pc\vcpkg\installed\x64-windows\include\boost\variant\variant.hpp(1365): note: consulte a referência à instanciação da função modelo 'void boost::variant<boost::blank,std::string,int64_t,double,bool>::internal_apply_visitor<boost::detail::variant::destroyer>(Visitor &)' que está sendo compilada
          with
          [
              Visitor=boost::detail::variant::destroyer
          ] (compilando arquivo de origem ..\src\configmanager.cpp)
  c:\users\pc\vcpkg\installed\x64-windows\include\boost\variant\variant.hpp(1363): note: ao compilar a função membro '<Desconhecido>' de classe <Desconhecido> (compilando arquivo de origem ..\src\configmanager.cpp)
  c:\users\pc\vcpkg\installed\x64-windows\include\boost\variant\variant.hpp(1372): note: consulte a referência à instanciação da função modelo 'void boost::variant<boost::blank,std::string,int64_t,double,bool>::destroy_content(void) noexcept' que está sendo compilada (compilando arquivo de origem ..\src\configmanager.cpp)
  c:\users\pc\desktop\forgottenserver-8.6-downgrade\src\item.h(218): note: consulte a referência à instanciação '<Desconhecido>' de classe <Desconhecido> que está sendo compilada (compilando arquivo de origem ..\src\configmanager.cpp)
  creatureevent.cpp
  cylinder.cpp
  database.cpp
  databasemanager.cpp
  databasetasks.cpp
  depotchest.cpp
  depotlocker.cpp
  events.cpp
  fileloader.cpp
  game.cpp
  globalevent.cpp
  groups.cpp
  guild.cpp
  house.cpp
  housetile.cpp
  ioguild.cpp
  iologindata.cpp
  iomap.cpp
  iomapserialize.cpp
  item.cpp
  items.cpp
  luascript.cpp
  mailbox.cpp
  map.cpp
  monster.cpp
  monsters.cpp
  movement.cpp
  networkmessage.cpp
  npc.cpp
  otserv.cpp
  outfit.cpp
  outputmessage.cpp
  party.cpp
  player.cpp
  position.cpp
  protocol.cpp
  protocolgame.cpp
  protocollogin.cpp
  protocolold.cpp
  quests.cpp
  raids.cpp
  rsa.cpp
  scheduler.cpp
  script.cpp
  scriptmanager.cpp
  server.cpp
  signals.cpp
  spawn.cpp
  spells.cpp
  protocolstatus.cpp
  talkaction.cpp
  tasks.cpp
  teleport.cpp
  thing.cpp
  tile.cpp
  tools.cpp
  trashholder.cpp
  vocation.cpp
  waitlist.cpp
  weapons.cpp
  wildcardtree.cpp
  xtea.cpp
  Gerando código
  Finalizada a geração de código
  theforgottenserver.vcxproj -> C:\Users\PC\Desktop\forgottenserver-8.6-downgrade\vc14\x64\Release\theforgottenserver-x64.exe

 

Problema:

image.png.bbb2e1d772389ddee82c834997fd76e2.png

Spoiler

image.thumb.png.c05859a948955ae27085e359ccac6052.png

 

O exemplo acima é compilado no x86 porém fiz o mesmo com o x64.

Eu coloquei todas as pastas para executar por meio das dúvidas. (também coloquei a config.lua)


Share this post


Link to post
Share on other sites
2 horas atrás, Ramon RBN disse:

Atualização:

Após apagar tudo (boost, sdk, projeto, msvs) e baixar o msvs 2019 junto com o vcpkg x64/x86, consegui compilar porém o TFS não da nenhum sinal de vida. A tela fica preta ao abrir e fecha após um tempo de 1 a 3 segundos.

 

Testei com os projetos:


TFS 1.3
TFS 1.3 downgrade 8.60

CFP:


Visual Studio 2017 (v141)

Tentei também com o v142 porém da erro de memory:


Erro	C2664	'void std::_Normal_allocator_traits<_Alloc>::destroy<_Ty>(_Alloc &,_Ty *)': não é possível converter um argumento 1 de '_Alloc' em '_Alloc &'

 

Log de compilação: 

  Mostrar conteúdo oculto

  otpch.cpp
  actions.cpp
  ban.cpp
  baseevents.cpp
  bed.cpp
  chat.cpp
  combat.cpp
c:\users\pc\desktop\forgottenserver-8.6-downgrade\src\actions.cpp(499): warning C4100: 'isScripted': parâmetro formal não referenciado
  condition.cpp
  configmanager.cpp
  connection.cpp
  container.cpp
  creature.cpp
c:\users\pc\vcpkg\installed\x64-windows\include\boost\variant\detail\forced_return.hpp(40): warning C4459: a declaração de 'dummy' oculta uma declaração global (compilando arquivo de origem ..\src\configmanager.cpp)
  c:\users\pc\desktop\forgottenserver-8.6-downgrade\src\configmanager.cpp(202): note: consulte a declaração de 'dummy'
  c:\users\pc\vcpkg\installed\x64-windows\include\boost\variant\detail\visitation_impl.hpp(162): note: consulte a referência à instanciação da função modelo 'T boost::detail::variant::forced_return<result_type>(void)' que está sendo compilada
          with
          [
              T=result_type
          ] (compilando arquivo de origem ..\src\configmanager.cpp)
  c:\users\pc\vcpkg\installed\x64-windows\include\boost\variant\detail\visitation_impl.hpp(231): note: consulte a referência à instanciação da função modelo 'void boost::detail::variant::visitation_impl_invoke<Visitor,VoidPtrCV,NoBackupFlag>(int,Visitor &,VoidPtrCV,boost::detail::variant::apply_visitor_unrolled *,NBF,long)' que está sendo compilada
          with
          [
              Visitor=boost::detail::variant::destroyer,
              VoidPtrCV=void *,
              NoBackupFlag=boost::variant<boost::blank,std::string,int64_t,double,bool>::has_fallback_type_,
              NBF=boost::variant<boost::blank,std::string,int64_t,double,bool>::has_fallback_type_
          ] (compilando arquivo de origem ..\src\configmanager.cpp)
  c:\users\pc\vcpkg\installed\x64-windows\include\boost\variant\variant.hpp(2339): note: consulte a referência à instanciação da função modelo 'void boost::detail::variant::visitation_impl<first_which,first_step,Visitor,VoidPtrCV,boost::variant<boost::blank,std::string,int64_t,double,bool>::has_fallback_type_>(const int,const int,Visitor &,VoidPtrCV,boost::mpl::false_,NoBackupFlag,Which *,step0 *)' que está sendo compilada
          with
          [
              Visitor=boost::detail::variant::destroyer,
              VoidPtrCV=void *,
              NoBackupFlag=boost::variant<boost::blank,std::string,int64_t,double,bool>::has_fallback_type_,
              Which=first_which,
              step0=first_step
          ] (compilando arquivo de origem ..\src\configmanager.cpp)
  c:\users\pc\vcpkg\installed\x64-windows\include\boost\variant\variant.hpp(2348): note: consulte a referência à instanciação da função modelo 'void boost::variant<boost::blank,std::string,int64_t,double,bool>::internal_apply_visitor_impl<Visitor,void*>(int,int,Visitor &,VoidPtrCV)' que está sendo compilada
          with
          [
              Visitor=boost::detail::variant::destroyer,
              VoidPtrCV=void *
          ] (compilando arquivo de origem ..\src\configmanager.cpp)
  c:\users\pc\vcpkg\installed\x64-windows\include\boost\variant\variant.hpp(2346): note: consulte a referência à instanciação da função modelo 'void boost::variant<boost::blank,std::string,int64_t,double,bool>::internal_apply_visitor_impl<Visitor,void*>(int,int,Visitor &,VoidPtrCV)' que está sendo compilada
          with
          [
              Visitor=boost::detail::variant::destroyer,
              VoidPtrCV=void *
          ] (compilando arquivo de origem ..\src\configmanager.cpp)
  c:\users\pc\vcpkg\installed\x64-windows\include\boost\variant\variant.hpp(1365): note: consulte a referência à instanciação da função modelo 'void boost::variant<boost::blank,std::string,int64_t,double,bool>::internal_apply_visitor<boost::detail::variant::destroyer>(Visitor &)' que está sendo compilada
          with
          [
              Visitor=boost::detail::variant::destroyer
          ] (compilando arquivo de origem ..\src\configmanager.cpp)
  c:\users\pc\vcpkg\installed\x64-windows\include\boost\variant\variant.hpp(1365): note: consulte a referência à instanciação da função modelo 'void boost::variant<boost::blank,std::string,int64_t,double,bool>::internal_apply_visitor<boost::detail::variant::destroyer>(Visitor &)' que está sendo compilada
          with
          [
              Visitor=boost::detail::variant::destroyer
          ] (compilando arquivo de origem ..\src\configmanager.cpp)
  c:\users\pc\vcpkg\installed\x64-windows\include\boost\variant\variant.hpp(1363): note: ao compilar a função membro '<Desconhecido>' de classe <Desconhecido> (compilando arquivo de origem ..\src\configmanager.cpp)
  c:\users\pc\vcpkg\installed\x64-windows\include\boost\variant\variant.hpp(1372): note: consulte a referência à instanciação da função modelo 'void boost::variant<boost::blank,std::string,int64_t,double,bool>::destroy_content(void) noexcept' que está sendo compilada (compilando arquivo de origem ..\src\configmanager.cpp)
  c:\users\pc\desktop\forgottenserver-8.6-downgrade\src\item.h(218): note: consulte a referência à instanciação '<Desconhecido>' de classe <Desconhecido> que está sendo compilada (compilando arquivo de origem ..\src\configmanager.cpp)
  creatureevent.cpp
  cylinder.cpp
  database.cpp
  databasemanager.cpp
  databasetasks.cpp
  depotchest.cpp
  depotlocker.cpp
  events.cpp
  fileloader.cpp
  game.cpp
  globalevent.cpp
  groups.cpp
  guild.cpp
  house.cpp
  housetile.cpp
  ioguild.cpp
  iologindata.cpp
  iomap.cpp
  iomapserialize.cpp
  item.cpp
  items.cpp
  luascript.cpp
  mailbox.cpp
  map.cpp
  monster.cpp
  monsters.cpp
  movement.cpp
  networkmessage.cpp
  npc.cpp
  otserv.cpp
  outfit.cpp
  outputmessage.cpp
  party.cpp
  player.cpp
  position.cpp
  protocol.cpp
  protocolgame.cpp
  protocollogin.cpp
  protocolold.cpp
  quests.cpp
  raids.cpp
  rsa.cpp
  scheduler.cpp
  script.cpp
  scriptmanager.cpp
  server.cpp
  signals.cpp
  spawn.cpp
  spells.cpp
  protocolstatus.cpp
  talkaction.cpp
  tasks.cpp
  teleport.cpp
  thing.cpp
  tile.cpp
  tools.cpp
  trashholder.cpp
  vocation.cpp
  waitlist.cpp
  weapons.cpp
  wildcardtree.cpp
  xtea.cpp
  Gerando código
  Finalizada a geração de código
  theforgottenserver.vcxproj -> C:\Users\PC\Desktop\forgottenserver-8.6-downgrade\vc14\x64\Release\theforgottenserver-x64.exe

 

Problema:

image.png.bbb2e1d772389ddee82c834997fd76e2.png

  Mostrar conteúdo oculto

image.thumb.png.c05859a948955ae27085e359ccac6052.png

 

O exemplo acima é compilado no x86 porém fiz o mesmo com o x64.

Eu coloquei todas as pastas para executar por meio das dúvidas. (também coloquei a config.lua)

 

costuma dar isso por causa de alguma dll errada, da uma verificada ai



"Todos querem ir pro céu, mas ninguém quer morrer."

Share this post


Link to post
Share on other sites
2 horas atrás, Fir3element disse:

costuma dar isso por causa de alguma dll errada, da uma verificada ai

 

Eu usei as dll que gera a partir da compilação, joguei tudo na pasta e executei.

Testei com outro TFS e parece mesmo ser as dll porém não sei qual, vou procurar aqui.

 

#SOLUÇÃO

Consegui resolver por outro fórum, aqui algumas soluções que encontrei:

 

Meu tópico no outro fórum: aqui

 

É importante usar o CMD para executar o seu '.exe', é bem fácil.

Abra o CMD, coloque 'cd <destino do seu projeto>', logo após isso use '<seu executador>.exe' para iniciar.

 

Problema com dummy:

avoid name conflict from boost::variant

Solução:

https://github.com/otland/forgottenserver/pull/2678/files/f51321dde4e9a40f23d3df4269849154395a4326

 

 

Problema após compilar (tela preta ao executar):

Vá em Propriedades do seu projeto -> Debugging -> Working Directory e mude para a pasta do seu projeto.

Logo após isso edite as propriedades do projeto e alterne o Conjunto de Instruções Avançadas para SSE2.

https://otland.net/threads/illegal-instruction-on-compilling.259997/#post-2514777

 

Vai compilar sem problemas.


Edited by Ramon RBN (see edit history)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


Open Tibia Server

Quer aprender a criar seu próprio servidor de Tibia? Então está no lugar certo, aqui você encontrará milhares de tutorias, scripts, códigos, mapas e utilitários para que você possa fazer o seu próprio servidor de Tibia começando do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer fazer um plano publicitário para o seu servidor? Anuncie no Tibia King e faça sua divulgação, possuímos centenas de acessos simultâneos e milhares diários, com certeza será a sua solução!

×
×
  • Create New...