Ir para conteúdo
  • Cadastre-se

(Resolvido)[Compilar com MSVS] Problema ao tentar compilar o TFS 1.3 & 8.60


Ir para solução Resolvido por Ramon RBN,

Posts Recomendados

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

 

 

Editado por Ramon RBN (veja o histórico de edições)
Link para o post
Compartilhar em outros 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)

Link para o post
Compartilhar em outros 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

Link para o post
Compartilhar em outros sites
  • Solução
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.

Editado por Ramon RBN (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo