Kompilacja [TFS 1.2] Widnows x64bit + Video!

Discussion in 'Poradniki' started by Webo, Mar 9, 2016.

  1. Webo

    Webo Web Desinger

    Joined:
    Oct 20, 2013
    Messages:
    546
    Likes Received:
    172
    Best Answers:
    4
    Kompilacja [TFS 1.2] Widnows x64bit + Video.
    Ok skompilujmy razem własny silnik pod windowsa.
    ______________________________________________

    Na początek pobieramy i instalujemy wymagane oprogramowania:
    - Visual Studio 2015 Update 3 (nasz kompiler może być community nie wiem czy na innych działa więc polecam pobrać właśnie community)
    - TFS SDK v3.2
    - Boost C++ libraries (pobierz 32-bit, pobierz 64-bit)

    Po pobraniu instalujemy programy najlepiej jak byś cie nic nie zmieniali pod czas instalacji to ułatwi nam prace (mam tu na myśli położenie programów).

    Kolejnym krokiem będzie pobranie i rozpakowanie naszego source:
    Source: GitHub - otland/forgottenserver: A free and open-source MMORPG server emulator written in C++ Po rozpakowaniu wrzućmy folder tfs-sdk-3.2 do naszego folderu (Poradnik)
    [​IMG]

    Teraz skonfigurujemy nasz system czyli zarejestrujemy pliki potrzebne do kompilacji.
    Wchodzimy do folderu tfs-sdk-3.2 zobaczymy tam 2 pliki: register_tfssdk_env oraz register_boost_envregister_tfssdk_env (uruchamiamy jako administrator) program sam się otworzy i zamknie rejestrując położenie folderu

    [​IMG]

    Nasz 2 plik czyli: register_boost_env przenosimy do folderu C:\local\boost_1_60_0\boost

    [​IMG]

    Również uruchamiamy go jako administrator:

    [​IMG]Teraz przechodzimy do folderu z source \forgottenserver-master\vc14\ zobaczymy tam plik theforgottenserver uruchamiamy go:

    [​IMG]

    Po załadowaniu się ukaże nam się okno projektu klikamy prawym przyciskiem na theforgottenserver i z listy wybieramy Properties[​IMG]

    Po wejściu w Properties pokaże nam się okno: theforgottenserver Porperty Pages:1. Wybieramy: Relase
    2. Wybieramy: x64
    3. Przechodzimy do: Configuration Manager

    [​IMG]

    Po przejściu do: Configuration Manager ustawimy wszystko tak jak ja:

    3.1 - Wybieramy z zakładki Active solution configuration: Release
    3.2 - Z zakładki Configuration: Release
    3.3 - Z zakładki Platform: x64
    3.4 - Z Active solution platform: x64
    [​IMG]

    Klikamy Close czyli zamykamyConfiguration Manager
    Kolejnym krokiem będzie ustawienie naszych Additional Include Directories:- 1. Przechodzimy do C/C++
    -
    2.Wysuwamy 2
    -
    3.Klikamy <Edit...>
    [​IMG]

    Ustawiamy Additional Include Directories:

    [​IMG]

    Klikamy OK. Teraz ustawimy Additional library Directories:przechodzimy do:
    - 1. Linker General
    - 2. Wysuwamy Additional library Directories
    - 3. Klikamy <Edit...>

    [​IMG]
    Ustawiamy je:

    [​IMG]

    Upewnij się czy ustawiłeś je dobrze to ważne!
    Jeżeli wszystko jest dobrze klikamy OKMożemy już zamknąć theforgottenserver Porperty Pages Klikając Apply i OK

    [​IMG]

    Nasze biblioteki muszą się załadować to potrwa krótką chwilę:
    [​IMG]

    Gdy ujrzymy napis Ready znaczy że nasz program jest gotowy do kompilacji

    [​IMG]

    Teram znów klikamy prawym przyciskiem na forgottenserver i wybieramy Rebuild

    [​IMG]

    Nasz kod zacznie się kompilować
    z naszego kodu zacznie powstawać theforgottenserver.exe[​IMG]

    Gratuluję jeżeli wszystko zrobiłeś zgodnie z poradnikiem twój serwer został skompilowany !
    Możemy go znaleźć w: forgottenserver-master\vc14\x64\Release

    [​IMG]
    Dorzucam filmik nakręcony OBS nie wiem dlaczego ale po przechwyceniu nie widać jak klikam prawym na forgottenserver jednak nie powinno wam to przeszkadzać

    Miło mi że mogę podzielić się z wami wiedzą którą zdobyłem przez kilka lat doświadczenia z Open Tibią. Pozdrawiam !
     
    Last edited: Feb 21, 2017
    fusha, Lbtg, Shadow Dan and 2 others like this.
  2. Don Daniello

    Don Daniello /root Staff Member Administrator

    Joined:
    Apr 11, 2008
    Messages:
    3,259
    Likes Received:
    520
    Best Answers:
    4
    Webo likes this.
  3. Webo

    Webo Web Desinger

    Joined:
    Oct 20, 2013
    Messages:
    546
    Likes Received:
    172
    Best Answers:
    4
  4. Call Me Taffy

    Call Me Taffy Call Me Maybe

    Joined:
    Aug 9, 2009
    Messages:
    650
    Likes Received:
    119
    Best Answers:
    0
    English version too though?!
     
  5. 5964438

    5964438 New Member

    Joined:
    Feb 17, 2012
    Messages:
    2
    Likes Received:
    0
    Best Answers:
    0
    Robię wszystko według poradnika, sprawdzałem kilka razy czy wszystko dobrze ustawiłem. Powtarzałem kompilację kilka razy - bez skutków. Jest możliwość żeby pozbyć się tych błędów?

    Code (Text):
    1. 1>------ Rebuild All started: Project: theforgottenserver, Configuration: Release x64 ------
    2. 1>  otpch.cpp
    3. 1>  protocolgamebase.cpp
    4. 1>  protocolspectator.cpp
    5. 1>  actions.cpp
    6. 1>  ban.cpp
    7. 1>  baseevents.cpp
    8. 1>..\src\protocolspectator.cpp(376): warning C4100: 'broadcast': unreferenced formal parameter
    9. 1>  bed.cpp
    10. 1>  chat.cpp
    11. 1>  combat.cpp
    12. 1>  commands.cpp
    13. 1>  condition.cpp
    14. 1>  configmanager.cpp
    15. 1>  connection.cpp
    16. 1>  container.cpp
    17. 1>  creature.cpp
    18. 1>  creatureevent.cpp
    19. 1>  cylinder.cpp
    20. 1>  database.cpp
    21. 1>  databasemanager.cpp
    22. 1>  databasetasks.cpp
    23. 1>  depotchest.cpp
    24. 1>..\src\depotchest.cpp(33): warning C4100: 'actor': unreferenced formal parameter
    25. 1>..\src\depotchest.cpp(32): warning C4100: 'index': unreferenced formal parameter
    26. 1>  depotlocker.cpp
    27. 1>  events.cpp
    28. 1>  fileloader.cpp
    29. 1>  game.cpp
    30. 1>  globalevent.cpp
    31. 1>  groups.cpp
    32. 1>  guild.cpp
    33. 1>  house.cpp
    34. 1>  housetile.cpp
    35. 1>..\src\game.cpp(4391): warning C4456: declaration of 'targetPos' hides previous local declaration
    36. 1>  ..\src\game.cpp(4310): note: see declaration of 'targetPos'
    37. 1>  inbox.cpp
    38. 1>  ioguild.cpp
    39. 1>  iologindata.cpp
    40. 1>  iomap.cpp
    41. 1>  iomapserialize.cpp
    42. 1>  iomarket.cpp
    43. 1>  item.cpp
    44. 1>  items.cpp
    45. 1>  luascript.cpp
    46. 1>  mailbox.cpp
    47. 1>  map.cpp
    48. 1>  monster.cpp
    49. 1>  monsters.cpp
    50. 1>  mounts.cpp
    51. 1>  movement.cpp
    52. 1>  networkmessage.cpp
    53. 1>  npc.cpp
    54. 1>..\src\movement.cpp(837): warning C4100: 'fromPos': unreferenced formal parameter
    55. 1>  otserv.cpp
    56. 1>  outfit.cpp
    57. 1>  outputmessage.cpp
    58. 1>  party.cpp
    59. 1>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\atomic(659): error C2338: You've instantiated std::atomic<T> with sizeof(T) equal to 2/4/8 and alignof(T) < sizeof(T). Before VS 2015 Update 2, this would have misbehaved at runtime. VS 2015 Update 2 was fixed to handle this correctly, but the fix inherently changes layout and breaks binary compatibility. Please define _ENABLE_ATOMIC_ALIGNMENT_FIX to acknowledge that you understand this, and that everything you're linking has been compiled with VS 2015 Update 2 (or later). (compiling source file ..\src\outputmessage.cpp)
    60. 1>  C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\atomic(669): note: see reference to class template instantiation 'std::_Atomic_base<_Ty,4>' being compiled
    61. 1>          with
    62. 1>          [
    63. 1>              _Ty=boost::lockfree::detail::tagged_index
    64. 1>          ] (compiling source file ..\src\outputmessage.cpp)
    65. 1>  C:\local\boost_1_60_0\boost/lockfree/detail/freelist.hpp(603): note: see reference to class template instantiation 'std::atomic<boost::lockfree::detail::tagged_index>' being compiled (compiling source file ..\src\outputmessage.cpp)
    66. 1>  C:\local\boost_1_60_0\boost/lockfree/detail/freelist.hpp(604): note: see reference to class template instantiation 'boost::lockfree::detail::fixed_size_freelist<T,NodeStorage>' being compiled (compiling source file ..\src\outputmessage.cpp)
    67. 1>  player.cpp
    68. 1>  position.cpp
    69. 1>  protocol.cpp
    70. 1>  protocolgame.cpp
    71. 1>  protocollogin.cpp
    72. 1>  protocolold.cpp
    73. 1>..\src\protocolgame.cpp(1435): warning C4100: 'depotId': unreferenced formal parameter
    74. 1>  quests.cpp
    75. 1>..\src\protocollogin.cpp(47): warning C4100: 'version': unreferenced formal parameter
    76. 1>  raids.cpp
    77. 1>  reward.cpp
    78. 1>  rewardchest.cpp
    79. 1>  rsa.cpp
    80. 1>  scheduler.cpp
    81. 1>  scriptmanager.cpp
    82. 1>  server.cpp
    83. 1>  spawn.cpp
    84. 1>  spells.cpp
    85. 1>  protocolstatus.cpp
    86. 1>  talkaction.cpp
    87. 1>  tasks.cpp
    88. 1>  teleport.cpp
    89. 1>  thing.cpp
    90. 1>  tile.cpp
    91. 1>  tools.cpp
    92. 1>  trashholder.cpp
    93. 1>  vocation.cpp
    94. 1>  waitlist.cpp
    95. 1>  weapons.cpp
    96. 1>  wildcardtree.cpp
    97. ========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========
     
  6. danio4don

    danio4don AlatharStudio

    Joined:
    Jun 15, 2012
    Messages:
    158
    Likes Received:
    18
    Best Answers:
    0
    up spróbuj inne source bo te błędy chyba od nich są
     
  7. wojteklegia92

    wojteklegia92 Member

    Joined:
    Jul 10, 2009
    Messages:
    47
    Likes Received:
    1
    Best Answers:
    0
    dokładnie tak.
     
  8. Lbtg

    Lbtg Well-Known Member

    Joined:
    Nov 22, 2008
    Messages:
    1,799
    Likes Received:
    37
    Best Answers:
    0
    cool. sad its polish i cant understand a thing :(
     
  9. Nouel

    Nouel New Member

    Joined:
    Feb 9, 2016
    Messages:
    16
    Likes Received:
    1
    Best Answers:
    0
    Soczysty poradniczek, jak raz mi sie przydal ;) Idealnie krok po kroku, na prawde porządna robota. Ten temat ląduje w favorites :)
     
    Webo likes this.
  10. Nouel

    Nouel New Member

    Joined:
    Feb 9, 2016
    Messages:
    16
    Likes Received:
    1
    Best Answers:
    0
  11. Nouel

    Nouel New Member

    Joined:
    Feb 9, 2016
    Messages:
    16
    Likes Received:
    1
    Best Answers:
    0
    ...
     
    Last edited: Dec 25, 2016
  12. fodastico

    fodastico New Member

    Joined:
    May 19, 2013
    Messages:
    6
    Likes Received:
    0
    Best Answers:
    0
    LINK : fatal error LNK1181: não foi possível abrir o arquivo de entrada 'lua51.lib'
    :confused:
     
    Last edited: Feb 4, 2017
  13. Webo

    Webo Web Desinger

    Joined:
    Oct 20, 2013
    Messages:
    546
    Likes Received:
    172
    Best Answers:
    4
    w większości przypadków tak :) ale jak ktoś chcę użyć silnika do stworzenia własnej gry na tym silniku przyda się takiej osobie poradnik kompilacji serwera z możliwością edycji source.

    Nowe linki dla Boost C++ libraries reszta pozostaje bez zmian

    @5964438 albo robisz coś źle albo używasz innego src
    @Nouel masz źle ustawione biblioteki.

    Na dniach dodam filmik. Może to pomoże polskim użytkownikom.
     
    Last edited: Feb 21, 2017
  14. Don Daniello

    Don Daniello /root Staff Member Administrator

    Joined:
    Apr 11, 2008
    Messages:
    3,259
    Likes Received:
    520
    Best Answers:
    4
    Nie wiem po co uruchamiasz *.bat jako administrator - to nie jest konieczne.
    Tak samo konfiguracje od screenshota #5 dalej są niepotrzebne. Wystarczy uruchomić 2 baty, następnie uruchomić MSVS i można kompilować. To wszystko. Sprawdzałem sam.
     
    Webo likes this.
  15. Webo

    Webo Web Desinger

    Joined:
    Oct 20, 2013
    Messages:
    546
    Likes Received:
    172
    Best Answers:
    4
    Robiłem tak bo na windows 7 .bat nie chciał chodzić bez uruchomienia jako administrator. Skoro tak to dzięki warto poprawić te punkty i pominąć te kroki ustawić biblioteki i kompilować
     
  16. danielouz

    danielouz New Member

    Joined:
    Dec 27, 2014
    Messages:
    24
    Likes Received:
    1
    Best Answers:
    0
    a jak naprawic to, że consola mi sie odrazu zamyka po uruchomieniu i nawet nie wiem jaki blad wyskakuje?
     
  17. Webo

    Webo Web Desinger

    Joined:
    Oct 20, 2013
    Messages:
    546
    Likes Received:
    172
    Best Answers:
    4
    Podejrzewam że to bląd połączenia serwera z bazą MySQL. Uruchom serwer przez CMD wtedy konsola sie nie zamknie i pokaż błąd
     
  18. Verdoom

    Verdoom New Member

    Joined:
    Jul 10, 2016
    Messages:
    12
    Likes Received:
    3
    Best Answers:
    0
    no no no Webo.. kawał pracy.
     

Share This Page

Loading...