Ir para conteúdo

Tutorial Decente De Como Se Compilar Um Otserv


Posts Recomendados

Mano,fiquei lendo o tutorial,no meio de tantas letra eu fiquei boiando asuahuhsuahs.

 

Mias tipo,ele copila uma versão que ainda não foi lançada?

Editado por maligno
Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...
  • 3 weeks later...
  • 2 months later...
Bom, após um tempo dando uma triste olhada nos tutoriais de compilação cheguei a conclusão de que nenhum está atual ou correto.

 

O tutorial explica corretamente como compilar um OTServ em mysql e sqlite (eu não sei usar pgsql ou odbc portanto nao vou explicar)

 

VIDEO: http://rapidshare.com/files/136634059/tutorial.rar.html

 

#1 09/09/2008 Atenção: apartir de hoje é EXTREMAMENTE necessario que a sua versão do boost seja atualizada. A versão mais recente ja esta nos arquivos para download e os linkers foram atualizados (!).

 

#2 12/09/2008 Atenção: eu atualizei os arquivos boost para uma VERSÃO STATIC, isto é, não será necessario o uso da dll do boost.

 

#3 10/12/2008 Atenção: não usem mais o AVESTA, ele ja foi adicionado completamente no TRUNK e por isso não será mais atualizado e sim o trunk.

 

Passo 1: Download dos arquivos

 

Eu juntei todas as livrarias e programas necessários e compactei-os em um só arquivo

Link: http://rapidshare.com/files/136870279/Dev-Cpp.rar.html

 

Passo 2: Preparando o Dev-Cpp

 

Primeiro instale o Dev-Cpp, instale todos os 'DevPak's e extraia o 'Boost', o 'lua-5.1' e o 'mysql 6.0' na pasta "C:\Dev-Cpp\".

 

Agora abra o Dev-Cpp, va em 'File' > 'New' > 'Project...' e em 'Name' ponha o nome que você quér para o projeto. Selecione 'Empty Project', 'C++ Project' e clique em 'Ok'.

 

Agora va em 'Project' > 'Project Options' > 'C++ compiler' e adicione o seguinte:

 

-D__DEBUG__WATINGLIST__
-D__DEBUG_PLAYERS__
-D__ENABLE_SERVER_DIAGNOSTIC__
-D__USE_LUALIBRARIES__
-D__SKULLSYSTEM__
-D__USE_MYSQL__
-D__USE_SQLITE__
-DXML_GCC_FREE
-DBOOST_NO_EXCEPTIONS
-D__OTSERV_ALLOCATOR__
-D__EXCEPTION_TRACER__

 

Agora em 'Project' > 'Project Options' > 'Linker' adicione o seguinte:

 

-llibxml2
-llua
-llualib
-lwsock32
-lsqlite3
-lmysql
-lws2_32
-lasio
-lboost_date_time
-lboost_system
-lboost_thread
-lboost_regex
-lgmp
-s
-Wl,-Map=otserv.map

 

E pronto o Dev-Cpp ja estará pronto para um projeto.

 

Passo 3: Preparando o Projeto

 

Primeiro de tudo você terá de decidir entre um OTServ ja pronto e que foi feito pro alguém ou começar o seu proprio OTServ (coisa que é mtu recomendada hoje em dia).

 

Caso você queria começar o seu proprio OTServ siga esse passos:

 

Baixe o Tortoise SVN: http://tortoisesvn.net/downloads

 

Agora faça o "Checkout" da seguinte maneira:

 

1º Crie uma pasta

2º Clique com o botão direito nela

3º Selecione "SVN Checkout"

4º Em 'URL Repository' ponha o seguinte endereço:

http://opentibia.svn.sourceforge.net/svnroot/opentibia/otserv/trunk/

 

5º Clique em 'Ok'

 

Agora de volta ao projeto, va em 'Project' > 'Add to Project' e va para a pasta onde tem os arquivos do OTServ e adicione todos os arquivos *.cpp e *.h. (agora caso você não defina pro exemplo __USE_DATABASETYPE__ o arquivo não será compilado e portanto nenhum arquivo precisa ser retirado) Caso dê erro, retire os arquivos databaseodbc e databasepgsql *.cpp *.h

 

Passo 4: Compilando o Projeto

 

Essa é a parte que eu mais gosto. :p

 

Aperte 'Ctrl+F9' para compilar ou aperte 'Ctrl+F11' para re-compilar tudo.

 

Fim

 

É isso pessoal. Caso ainda haja alguma duvida postem aqui que eu irei tentar resolve-la. Espero que com esse tutorial eu comece a ver mais servidores proprios e menos baseados em 'Evolutions'.

 

PS: dentre os arquivos que eu disponibilizei pra vocês ai, tem as DLLs que são necessárias para rodar o server.

 

 

 

 

tipo só uma duvida eu baxei um ot 8.4 e queria passa ele pra 8.41 ai andei pesquisando e me falaram que teria que compila ai achei esse tutorial mais não fala em nenhuma parte como que escolhe a versão, tipo eu não intendo muito então se puder responder eu agradeço

Link para o comentário
Compartilhar em outros sites

  • 4 weeks later...

Não deu :X

In file included from ../Nova pasta/map.h:36,
			 from ../Nova pasta/creature.h:30,
			 from ../Nova pasta/player.h:25,
			 from ../Nova pasta/actions.cpp:23:
../Nova pasta/tools.h:24:27: libxml/parser.h: No such file or directory
In file included from ../Nova pasta/map.h:36,
			 from ../Nova pasta/creature.h:30,
			 from ../Nova pasta/player.h:25,
			 from ../Nova pasta/actions.cpp:23:
../Nova pasta/tools.h:46: error: `xmlNodePtr' was not declared in this scope
../Nova pasta/tools.h:46: error: expected primary-expression before "const"
../Nova pasta/tools.h:46: error: expected primary-expression before "int"
../Nova pasta/tools.h:46: error: initializer expression list treated as compound expression

../Nova pasta/tools.h:50: error: `xmlNodePtr' was not declared in this scope
../Nova pasta/tools.h:50: error: expected primary-expression before "const"
../Nova pasta/tools.h:50: error: expected primary-expression before '&' token
../Nova pasta/tools.h:50: error: `value' was not declared in this scope
../Nova pasta/tools.h:50: error: initializer expression list treated as compound expression

../Nova pasta/tools.h:51: error: `xmlNodePtr' was not declared in this scope
../Nova pasta/tools.h:51: error: expected primary-expression before "const"
../Nova pasta/tools.h:51: error: expected primary-expression before "float"
../Nova pasta/tools.h:51: error: initializer expression list treated as compound expression
../Nova pasta/tools.h:52: error: `xmlNodePtr' was not declared in this scope
../Nova pasta/tools.h:52: error: expected primary-expression before "const"

../Nova pasta/tools.h:52: error: expected primary-expression before '&' token
../Nova pasta/tools.h:52: error: `value' was not declared in this scope
../Nova pasta/tools.h:52: error: initializer expression list treated as compound expression
../Nova pasta/tools.h:53: error: `xmlNodePtr' was not declared in this scope
../Nova pasta/tools.h:53: error: expected primary-expression before '&' token
../Nova pasta/tools.h:53: error: `value' was not declared in this scope
../Nova pasta/tools.h:53: error: initializer expression list treated as compound expression

In file included from ../Nova pasta/creatureevent.h:26,
			 from ../Nova pasta/creature.h:36,
			 from ../Nova pasta/player.h:25,
			 from ../Nova pasta/actions.cpp:23:
../Nova pasta/baseevents.h:44: error: `xmlNodePtr' has not been declared
../Nova pasta/baseevents.h:44: error: ISO C++ forbids declaration of `p' with no type
../Nova pasta/baseevents.h:57: error: `configureEvent' declared as a `virtual' field
../Nova pasta/baseevents.h:57: error: expected `;' before '(' token

In file included from ../Nova pasta/creature.h:36,
			 from ../Nova pasta/player.h:25,
			 from ../Nova pasta/actions.cpp:23:
../Nova pasta/creatureevent.h:56: error: `xmlNodePtr' has not been declared
../Nova pasta/creatureevent.h:56: error: ISO C++ forbids declaration of `p' with no type

../Nova pasta/creatureevent.h:72: error: `configureEvent' declared as a `virtual' field
../Nova pasta/creatureevent.h:72: error: expected `;' before '(' token

In file included from ../Nova pasta/monster.h:26,
			 from ../Nova pasta/actions.cpp:24:
../Nova pasta/monsters.h:166: error: expected `;' before '(' token
../Nova pasta/monsters.h:170: error: expected `;' before '(' token

../Nova pasta/monsters.h:171: error: expected `;' before '(' token

In file included from ../Nova pasta/actions.cpp:25:
../Nova pasta/npc.h:514: error: expected `;' before '(' token
../Nova pasta/npc.h:515: error: expected `;' before '(' token

In file included from ../Nova pasta/spells.h:27,
			 from ../Nova pasta/actions.cpp:33:
../Nova pasta/actions.h:73: error: `xmlNodePtr' has not been declared
../Nova pasta/actions.h:73: error: ISO C++ forbids declaration of `p' with no type

../Nova pasta/actions.h:92: error: `configureEvent' declared as a `virtual' field
../Nova pasta/actions.h:92: error: expected `;' before '(' token

In file included from ../Nova pasta/spells.h:28,
			 from ../Nova pasta/actions.cpp:33:
../Nova pasta/talkaction.h:57: error: `xmlNodePtr' has not been declared
../Nova pasta/talkaction.h:57: error: ISO C++ forbids declaration of `p' with no type

../Nova pasta/talkaction.h:72: error: `configureEvent' declared as a `virtual' field
../Nova pasta/talkaction.h:72: error: expected `;' before '(' token
In file included from ../Nova pasta/actions.cpp:33:

../Nova pasta/spells.h:65: error: `xmlNodePtr' has not been declared
../Nova pasta/spells.h:65: error: ISO C++ forbids declaration of `p' with no type

../Nova pasta/spells.h:94: error: `configureEvent' declared as a `virtual' field
../Nova pasta/spells.h:94: error: expected `;' before '(' token
../Nova pasta/spells.h:97: error: expected `;' before "bool"
../Nova pasta/spells.h:114: error: expected `;' before '(' token

../Nova pasta/spells.h:171: error: `configureEvent' declared as a `virtual' field
../Nova pasta/spells.h:171: error: expected `;' before '(' token
../Nova pasta/spells.h:216: error: `configureEvent' declared as a `virtual' field
../Nova pasta/spells.h:216: error: expected `;' before '(' token
../Nova pasta/spells.h:253: error: `configureEvent' declared as a `virtual' field
../Nova pasta/spells.h:253: error: expected `;' before '(' token

../Nova pasta/actions.cpp:39:30: libxml/xmlmemory.h: No such file or directory

../Nova pasta/actions.cpp:103: error: `xmlNodePtr' has not been declared
../Nova pasta/actions.cpp:104: error: ISO C++ forbids declaration of `p' with no type
../Nova pasta/actions.cpp: In member function `virtual bool Actions::registerEvent(Event*, int)':
../Nova pasta/actions.cpp:110: error: `readXMLInteger' cannot be used as a function
../Nova pasta/actions.cpp:113: error: `readXMLInteger' cannot be used as a function
../Nova pasta/actions.cpp:116: error: `readXMLInteger' cannot be used as a function

../Nova pasta/actions.cpp: At global scope:
../Nova pasta/actions.cpp:522: error: `bool Action::configureEvent' is not a static member of `class Action'
../Nova pasta/actions.cpp:522: error: `xmlNodePtr' was not declared in this scope
../Nova pasta/actions.cpp:523: error: expected `,' or `;' before '{' token

make.exe: *** ["../Nova pasta/actions.o"] Error 1

Execução terminada

 

E agora?

Link para o comentário
Compartilhar em outros sites

  • 1 month later...
  • 2 weeks later...

Cara entra em contato comigo por favor o meu deu esse error

C:\Dev-Cpp\Makefile.win [build Error] ["../Documents and Settings/Nícolas/Meus documentos/OTI/actions.o"] Error 1

 

Cara no meu deu esse erro pode me ajudar ?

 

C:\Dev-Cpp\Makefile.win [build Error] ["../Documents and Settings/Nícolas/Meus documentos/OTI/actions.o"] Error 1
Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...
  • 4 months later...
Vlw ai cara mas no final parece que o tutorial vai fica por aqui mesmo né..... E eu posso te afirmar que é o unico tutorial aqui que vai funciona com as ultimas revisoes do OpenTibia mas como ninguém qué sabe de compila server.....

 

que nada mano eu adooro compilar vou testar agora com esse teu tuto até agora n deu nada certo aUHuhuhu... ;D

muito bom teu tutorial parabéns!

mais ae ele funciona com a nova versão 8.5?

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...