Aller au contenu
Aurora Kingdom
Calypso

 tutoriel [Tutoriel] Compiler un core Trinity sous Windows

Messages recommandés

Bonjour à tous  :cool: 

Voici un tutoriel qui va vous apprendre à compiler un core Trinity sur Windows. Voici ce qu'il faut savoir avant de commencer:

 

 

  • Qu'est ce que TrinityCore ? C'est le cœur du serveur, c'est ce qui va permettre le lien entre les fichiers du serveur et la base de donnée. Il est donc indispensable pour le bon fonctionnement du serveur. Dans ce tutoriel, nous allons compiler un Core 4.3.4

  • Ce tutoriel est valable pour toutes les versions de TrinityCore. Que vous soyez sur l'ancienne version, la nouvelle, c'est exactement la même chose ... Sauf si les développeurs de Trinity change tout ça.

  • Le core est programmé en C++ et nous sommes sur Windows, il nous faut donc un logiciel permettant de compiler un core C++ sur Windows. Dans ce tutoriel, j'utiliserais Visual Studio C++ 2013 bien qu'il existe une multitude d'IDE (Integrated Development Environment, un logiciel qui comporte une interface graphique, un compilateur, un éditeur et un debogueur.

  • Nous allons aussi utiliser CMake. Alors qu'est ce que c'est ? C'est un logiciel qui va créer automatique tous les fichiers Makefile nécessaire à la compilation du projet. Un Makefile est un fichier qui permet d’exécuter une série d'action comme par exemple la compilation dans notre cas. Vous verrez par la suite, c'est très pratique !

 

  • Enfin, nous utiliserons Boost qui est une librairie C++ nécessaire à la compilation de Trinity.Une librairie est une collection de fonction déjà compilé (ou non) qui peut être utilisé par un autre programme.


C'était la partie un peu plus théorique, passons maintenant au vif du sujet: Trinity.

Vous trouverez ci-dessous la liste des logiciels/fichiers nécessaires pour la compilation de Trinity.

 

Téléchargement

latest?cb=20101206175420&path-prefix=de 

 

 

Le cœur du serveur

 

 

Contenu Masqué

    Répondez au message pour visualiser le contenu

 

 

300x100

Contenu Masqué

    Répondez au message pour visualiser le contenu
[/img]

 

 

Notre logiciel qui va nous permettre de compiler le core

 

 

Contenu Masqué

    Répondez au message pour visualiser le contenu

 

 

300x100

Contenu Masqué

    Répondez au message pour visualiser le contenu
[/img]

 

 

Permet de générer le MakeFile

 

 

Contenu Masqué

    Répondez au message pour visualiser le contenu

 

 

Boost.png

 

 

Librairie c++ nécessaire à la compilation

 

 

 

32 bits: http://sourceforge.net/projects/boost/files/boost-binaries/1.55.0-build2/boost_1_55_0-msvc-12.0-32.exe/download

 

 

64 bits: http://sourceforge.net/projects/boost/files/boost-binaries/1.55.0-build2/boost_1_55_0-msvc-12.0-64.exe/download

 

 

 

 

300x100

Contenu Masqué

    Répondez au message pour visualiser le contenu
[/img]

 

 

Il permet de faire fonctionner certains programmes.

 

 

 

http://www.microsoft.com/fr-fr/download/details.aspx?id=17851

 

 

 

INSTALLATION DE BOOST


 

Commençons par installer Boost. Installez le à un endroit de sorte que vous puissiez le retrouver.

Il va falloir créer une variable d'environnement. Une variable d'environnement est une variable qui permet de communiquer des informations entre certains programmes. Dans notre cas, faire communiquer Trinity et Boost.

 

Voici la procédure à suivre pour vous y rendre:

 

195025tuto1.png

195040tuto2.png

 

Il va falloir créer une variable système (et non utilisateur). Cliquez donc sur Nouvelle. . .

 

Nom de la variable: BOOST_ROOT

Valeur de la variable: Le dossier où est installé Boost

 

Pour moi, ça donne:

 

195356tuto3.png

 

 

Boost est maintenant correctement installé.

 

 

PRÉPARATION DES SOURCES AVEC CMAKE


 

Commençons par générer le Makefile.

Lancez CMake en mode fenêtre (cmake-gui.exe). Pour les personnes ayant téléchargé le rar, il se trouve dans le dossier bin.

 

Dans Browse Source. . ., vous sélectionnez le dossier source du projet. Dans notre cas, on choisit le dossier Trinity: TrinityCore-4.3.4

Dans Browse Build. . ., vous sélectionnez le dossier où vous voulez que votre Makefile soit généré. Dans mon cas, j'ai créé un dossier build à la racine du dossier Trinity. (Ne choisissez pas le dossier qui contient vos sources)

 

Voici un screen qui résume ce qui a été dit ci-dessus:

 

195623tuto4.png

 

Ensuite, cliquez sur Configure en bas de la fenêtre et choisissez le logiciel que vous utilisez. Dans mon cas, c'est Visual Studio 2013 en 64 bits.

 

195916tuto5.png

 

Cliquez sur Finish et CMake va vous configurer tout ça. Vous tomberez forcément sur une erreur, ce qui est normal, il faut choisir les entrées souhaités pour générer la solution.

 

Il faut cocher les 3 booleans suivantes:

 

  • TOOLS
  • WHITHOUT_GIT
  • WHITH_COREDEBUG

 

Un boolean est une variable soit vrai (true) ou soit fausse (false) d'où les cases à cocher.

Voici ce que ça donne une fois les cas cochés:

 

 

193053tuto6.pngIl ne vous manque plus qu'à cliquer sur Generate pour générer la solution.

Le message Generating Done s'affiche lorsque la solution a été généré. Elle se trouve dans le dossier que vous avez spécifié plus haut.

 

 

COMPILER LA SOLUTION


 

Commencez par ouvrir votre solution avec Visual Studio 2013.

 

 

 

193431tuto7.png

 

Une solution est un ensemble de projet. Il vous suffit donc seulement de compiler la solution pour compiler la totalité de vos projets.

Il va falloir compiler la solution en mode Release et non en mode Debug.

 

  • Le mode Debug: Lors de l'exécution du programme et surtout lors des erreurs, les fonctions renvoient plus d'informations donc les librairies sont plus lourdes. C'est un bon moyen pour deboguer son programme ...
  • Le mode Release: C'est tout le contraire du mode Debug, il revoit moins d'informations mais les librairies sont beaucoup moins lourdes.

 

Pour compiler votre solution en mode Release, faites un clique droit sur votre solution puis Propriétés.

 

 

 

193920tuto8.png

 

Cliquez ensuite sur Propriétés de configuration et choisissez Release dans la liste déroulante.

 

 

 

194038tuto9.png

 

Cliquez sur Ok. Il ne nous reste plus qu'à compiler. Faites un clique droit sur la solution et faites Générer la solution.

 

 

 

194418tuto10.png

 

La compilation va prendre un certain temps selon la puissance de votre machine.

Une fois la compilation terminé, vous devez obtenir ceci:

 

========== Génération : 23 a réussi, 0 a échoué, 0 mis à jour, 1 a été ignoré ==========

 

 

Celui qui a été ignoré n'est pas vraiment important. Le tout est d'avoir vos projets compilés.

Pour récupérer vos fichiers compilés, il faut vous rendre dans le dossier build. Pour ma part: Build\bin\Debug

 

Dans le dossier Debug, je possède la totalité des fichiers nécessaire au serveur.

 

 

 

194920tuto11.png

 

Si vous avez des erreurs, que ça soit sur CMake ou Visual Studio, n'hésitez surtout pas à demander. Il est vrai que selon les programmes installés sur votre machine, il se peut qu'il y ait quelque petit problème ...

 

Je ferais un tutoriel un peu plus tard pour faire un serveur WoW avec un core Trinity compilé.

C'est tout pour l'instant. Merci de respecter un minimum ce tutoriel étant donné que j'y ai passé 2 jours pour arriver à ses fins.

Si vous avez des suggestions, n'hésitez pas.

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Suite à vos conseils, je m'essaye à Trinity...

 

Hors je tombe sur une bourde avec Cmake

Detected 64-bit platform

MSVC: 64-bit platform, enforced -D_WIN64 parameter

MSVC: Enabled extended object-support for debug-compiles

MSVC: Overloaded standard names

MSVC: Disabled NON-SECURE warnings

MSVC: Disabled POSIX warnings

MSVC: Disabled generic compiletime warnings

CMake Error at C:/Users/David & Magali/Pour Wowserver/CMake/share/cmake-3.3/Modules/FindPackageHandleStandardArgs.cmake:148 (message):

 Could NOT find OpenSSL (missing: OPENSSL_LIBRARIES OPENSSL_INCLUDE_DIR)

Call Stack (most recent call first):

 C:/Users/David & Magali/Pour Wowserver/CMake/share/cmake-3.3/Modules/FindPackageHandleStandardArgs.cmake:388 (_FPHSA_FAILURE_MESSAGE)

 cmake/macros/FindOpenSSL.cmake:176 (find_package_handle_standard_args)

 CMakeLists.txt:57 (find_package)

 

 

Configuring incomplete, errors occurred!

See also "C:/Users/David & Magali/WOW/Historia/CMakeFiles/CMakeOutput.log".

 

Je parle pas anglais, mais je suppose que vous voulez voir le fameux CMakeOutput.log?

 

Je comprends rien à la suite... Je vais surement vite revenir ;)

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut excuse moi mais quelle version de Cmake tu utilise ? Je sais pas trop si ça a un rapport mais j'ai constamment la même erreur voici le problème :

Lorsque je tape

C:/Users/Greg/Desktop/Compiled Core SkyFire 4.3.4/TrinityCore-4.3.4

C:/Users/Greg/Desktop/Compiled Core SkyFire 4.3.4/Build

Comme indiqué dans le tutoriel je clic sur configurer et je choisi Visual 12, 2013 64bits et laisse par défaut (j'ai tester avec tout ceux de la liste sa fais pareil)

"Use default native compilers"

Et lorsque je clic sur Finish voici l'erreur que j'obtien :

"Error in configuration process, project files may be invalid"

Une solution ? Merci ^^

 

Edit : Enfaite j'ai reusi a aller un peu plus loin mais j'ai pas les même erreur en rouge et que je fasse n'importe quoi l'erreur ci-dessus revien toujours et je sais rien faire.

Partager ce message


Lien à poster
Partager sur d’autres sites

Alors voila pour commencer j'ai essayer sans aucuns dossier de crée (ni trinity ni build) "image 1" j'ai appuyer sur yes "image 2" finish "image 3 " et l'erreur "image 4"

 

Contenu Masqué

    Répondez au message pour visualiser le contenu

Contenu Masqué

    Répondez au message pour visualiser le contenu

Contenu Masqué

    Répondez au message pour visualiser le contenu

Contenu Masqué

    Répondez au message pour visualiser le contenu

 

Ensuite (la où j'ai reusi a aller un peu plus loin (mais pas beaucoup)

 

J'ai tenter avec comme source le dossier trinity (télécharger ici) et voici les erreurs (la dernière image j'ai mis des chiffres parce'que la liste étais longue alors j'ai coupé l'image)

 

Contenu Masqué

    Répondez au message pour visualiser le contenu

Contenu Masqué

    Répondez au message pour visualiser le contenu

Contenu Masqué

    Répondez au message pour visualiser le contenu

Partager ce message


Lien à poster
Partager sur d’autres sites

Non, tu mets le contenue du dossier dans celui-ci.

Si ton dossier s'appelle WoWCompil, tu mets le contenue du dossier Wow (de l'archive) dans le dossier WowCompil.

Partager ce message


Lien à poster
Partager sur d’autres sites

Arf je suis trop nul ^^

la j'ai essayer de mettre tout les fichiers/dossiers qui se trouvais dans le dossier trinity en telechargement sur le tuto sa a toujours pas été meme bug que le second essaie :'(

 

edit : Avec mon dossier wow (le jeu) ?

Partager ce message


Lien à poster
Partager sur d’autres sites

The C compiler identification is unknown

The CXX compiler identification is unknown

CMake Error at CMakeLists.txt:12 (project):

No CMAKE_C_COMPILER could be found.

 

 

 

CMake Error at CMakeLists.txt:12 (project):

No CMAKE_CXX_COMPILER could be found.

 

 

 

Configuring incomplete, errors occurred!

See also "C:/Users/Greg/Desktop/Trinity/Build/CMakeFiles/CMakeOutput.log".

See also "C:/Users/Greg/Desktop/Trinity/Build/CMakeFiles/CMakeError.log".

Partager ce message


Lien à poster
Partager sur d’autres sites

"désolé je suis trop con" ^^

Faut dire vu le temp qui met a s'installer lui..... fallais bien que j'attaque direct

ben en tout cas merci infiniment de ton aide ! Franchement très sympa de ta part d'avoir bien pris le temp de m'expliquez :)

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

×