• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

[Compiling] [WINDOWS] How to set up a compiler [Noob friendly] [Tutorial]

Amiroslo

Excellent OT User
Joined
Jul 28, 2009
Messages
6,767
Solutions
5
Reaction score
769
9gsUlk0.png


Hello,
So basically I was trying to compile the TFS sources and I kept having errors and errors and errors. I tried almost everything then I found out the problem is the paths, and that's why a lot of people are having problems.
So basically today Ill show you how to do it in a simple way (Should work on both 64&32 bit)

PS: IF ANY OF THE STEPS ARE ALREADY DONE THEN JUST SKIP TO THE NEXT

divider_i_by_rbsrdesigns-d353f7e.png

-Steps-
zlcbpt.png


Step one:
zlcbpt.png

Download Stian's Dev-cpp repack 0.2 (with crypto++ and 64bit) (Thanks Gesior.pl for the link)

Step two:
zlcbpt.png

Extract the files to your desktop

Step three:
zlcbpt.png

Open the folder and double click the devcpp.exe

Step four:
zlcbpt.png

Now we need the sources. (either use the one you have or download the sources you want) (FREE SOURCES) (PREMIUM SOURCES)

Step five:
zlcbpt.png

Extract the files

Step six:
zlcbpt.png

Go back to devcpp.exe that we left open (if you already closed it, please open it again)

Step seven:
zlcbpt.png

Go to File> Open project or file> (now go into your sources folder then into a folder called dev-cpp then find the TheForgottenServer.dev
[Make sure its the Dev-C++ type]


Step eight:
zlcbpt.png

Goto project> Project options > Parameters
[Note:]
Make sure that the C++ compiler includes these:
Code:
-D__USE_MYSQL__
-D__USE_SQLITE__
-D__ENABLE_SERVER_DIAGNOSTIC__
-O2

{PS. IF YOU ARE USING 64BIT ADD -m64 after the -O2}

And make sure that the Linker includes these:
Code:
-lboost_system
-llua5.1
-llua51
-lmysql
-lboost_regex
-lsqlite3
-lwsock32
-lxml2
-lmysql
-lws2_32
-s
-lboost_filesystem
-lboost_thread
-lz
-lcryptopp
-leay32


Step nine:
zlcbpt.png

Go to project> Project options > Directories
[
Now in the Library Directories, click the small folder icon that is located over the delete invalid button and locate the path to
C:\Users\YOUR USER NAME\Desktop\Stian's Repack Dev-Cpp v2\lib
]

PS: change YOUR USER NAME to your PC username

Then click the Add button!

[
Now click on the Include Directories tab that is in project> Project options > Directories
click the small folder icon that is located over the delete invalid button and locate the path to
C:\Users\YOUR USER NAME\Desktop\Stian's Repack Dev-Cpp v2\include
]

PS: AGAIN change YOUR USER NAME to your PC username

Now click the Add button! and click Ok..

Step ten:
zlcbpt.png

Go to tools > compiler option
On the Binaries tab locate it to
C:\Users\YOUR USER NAME\Desktop\Stian's Repack Dev-Cpp v2\bin

Now go to libraries tab and locate it to
C:\Users\YOUR USER NAME\Desktop\Stian's Repack Dev-Cpp v2\lib

Now to the C include and locate it to
C:\Users\YOUR USER NAME\Desktop\Stian's Repack Dev-Cpp v2\include

Then to the C++ and locate it to
C:\Users\YOUR USER NAME\Desktop\Stian's Repack Dev-Cpp v2\include\c++

Now after you've done these click OK (Dont forget to change the YOUR USER NAME)

Step eleven:
zlcbpt.png

Go to Tools > Environment options
Now click on Files & Dir..

Change the User's default directory TO
C:\Users\YOUR USER NAME\Desktop\Stian's Repack Dev-Cpp v2\
(Dont forget to change the YOUR USER NAME)

Step twelve:
zlcbpt.png

Now after you've done all that click CTRL+F9 to compile and see if you got any errors while compiling (The .EXE will show up in the [Dev-cpp folder] after it compiles correctly)
eg8csw2q5p.png

Happy Compiling =))
PS: THIS DOES NOT HELP YOU FIXING YOUR SCRIPT ERRORS IF YOU ADDED SOME CUSTOM STUFF, THIS IS ONLY HOW TO COMPILE A CLEAN NOT USED SOURCES WITH NO ERRORS
 
Last edited:
Thx dude!!!

- - - Updated - - -

Rep++

- - - Updated - - -

u.u help
sorry, unimplemented: 64-bit mode not compiled in

mingw32-make: *** [obj-console//actions.o] Error 1

Execution terminated
 
Try removing the -m64 and compile and run the EXE
But remember it will compile in 32bit, so you will need to downed 32bit dlls from OTLand. I think most of 32 bits files works on 64bit
 
It does work for 64bit, Ive tested it. Just compile without the -m64
Most of the application you got are 32bit if you dont know that. ex. Skype :p
 
lol, I know, just try to remove it and compile -.-
What is so hard to understand?
 
This is my first attempt at trying to Compile a server... I have a feeling i'm missing something. I downloaded the 0.3 files, but it doesn't include a "dev-cpp" folder or a TheForgottenServer.dev file anywhere for that matter.
 
Did step by step (my windows is x64), and I had to remove the -m64 because it gave me an error like the another user here...
Then, pressed ctrl+f9 again and:
Compiler: Default compiler
Building Makefile: "C:\Users\Dourado\Desktop\trunk.r3889\dev-cpp\Makefile.win"
Executing make clean
rm -f obj//actions.o obj//admin.o obj//allocator.o obj//baseevents.o obj//beds.o obj//chat.o obj//combat.o obj//condition.o obj//configmanager.o obj//connection.o obj//container.o obj//creature.o obj//creatureevent.o obj//cylinder.o obj//database.o obj//databasemanager.o obj//databasemysql.o obj//databasesqlite.o obj//depot.o obj//dispatcher.o obj//exception.o obj//fileloader.o obj//game.o obj//gameservers.o obj//globalevent.o obj//group.o obj//house.o obj//housetile.o obj//ioban.o obj//ioguild.o obj//iologindata.o obj//iomap.o obj//iomapserialize.o obj//item.o obj//itemattributes.o obj//items.o obj//luascript.o obj//mailbox.o obj//manager.o obj//map.o obj//monster.o obj//monsters.o obj//movement.o obj//networkmessage.o obj//npc.o obj//otserv.o obj//outfit.o obj//outputmessage.o obj//party.o obj//player.o obj//position.o obj//protocol.o obj//protocolgame.o obj//protocolhttp.o obj//protocollogin.o obj//protocolold.o obj//quests.o obj//raids.o obj//scheduler.o obj//scriptmanager.o obj//server.o obj//spawn.o obj//spells.o obj//status.o obj//talkaction.o obj//teleport.o obj//textlogger.o obj//thing.o obj//tile.o obj//tools.o obj//trashholder.o obj//vocation.o obj//waitlist.o obj//weapons.o obj//TheForgottenServer_private.res TheForgottenServer.exe

g++.exe -c ../actions.cpp -o obj//actions.o -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include/c++" -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include" -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O2 -fexpensive-optimizations -O1

g++.exe -c ../admin.cpp -o obj//admin.o -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include/c++" -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include" -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O2 -fexpensive-optimizations -O1

g++.exe -c ../allocator.cpp -o obj//allocator.o -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include/c++" -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include" -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O2 -fexpensive-optimizations -O1

g++.exe -c ../baseevents.cpp -o obj//baseevents.o -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include/c++" -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include" -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O2 -fexpensive-optimizations -O1

g++.exe -c ../beds.cpp -o obj//beds.o -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include/c++" -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include" -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O2 -fexpensive-optimizations -O1

g++.exe -c ../chat.cpp -o obj//chat.o -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include/c++" -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include" -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O2 -fexpensive-optimizations -O1

g++.exe -c ../combat.cpp -o obj//combat.o -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include/c++" -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include" -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O2 -fexpensive-optimizations -O1

g++.exe -c ../condition.cpp -o obj//condition.o -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include/c++" -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include" -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O2 -fexpensive-optimizations -O1

g++.exe -c ../configmanager.cpp -o obj//configmanager.o -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include/c++" -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include" -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O2 -fexpensive-optimizations -O1

g++.exe -c ../connection.cpp -o obj//connection.o -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include/c++" -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include" -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O2 -fexpensive-optimizations -O1

g++.exe -c ../container.cpp -o obj//container.o -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include/c++" -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include" -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O2 -fexpensive-optimizations -O1

g++.exe -c ../creature.cpp -o obj//creature.o -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include/c++" -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include" -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O2 -fexpensive-optimizations -O1

g++.exe -c ../creatureevent.cpp -o obj//creatureevent.o -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include/c++" -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include" -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O2 -fexpensive-optimizations -O1

g++.exe -c ../cylinder.cpp -o obj//cylinder.o -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include/c++" -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include" -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O2 -fexpensive-optimizations -O1

g++.exe -c ../database.cpp -o obj//database.o -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include/c++" -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include" -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O2 -fexpensive-optimizations -O1

g++.exe -c ../databasemanager.cpp -o obj//databasemanager.o -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include/c++" -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include" -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O2 -fexpensive-optimizations -O1

g++.exe -c ../databasemysql.cpp -o obj//databasemysql.o -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include/c++" -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include" -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O2 -fexpensive-optimizations -O1

g++.exe -c ../databasesqlite.cpp -o obj//databasesqlite.o -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include/c++" -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include" -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O2 -fexpensive-optimizations -O1

g++.exe -c ../depot.cpp -o obj//depot.o -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include/c++" -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include" -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O2 -fexpensive-optimizations -O1

g++.exe -c ../dispatcher.cpp -o obj//dispatcher.o -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include/c++" -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include" -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O2 -fexpensive-optimizations -O1

g++.exe -c ../exception.cpp -o obj//exception.o -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include/c++" -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include" -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O2 -fexpensive-optimizations -O1

g++.exe -c ../fileloader.cpp -o obj//fileloader.o -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include/c++" -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include" -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O2 -fexpensive-optimizations -O1

g++.exe -c ../game.cpp -o obj//game.o -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include/c++" -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include" -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O2 -fexpensive-optimizations -O1

g++.exe -c ../gameservers.cpp -o obj//gameservers.o -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include/c++" -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include" -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O2 -fexpensive-optimizations -O1

g++.exe -c ../globalevent.cpp -o obj//globalevent.o -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include/c++" -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include" -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O2 -fexpensive-optimizations -O1

g++.exe -c ../group.cpp -o obj//group.o -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include/c++" -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include" -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O2 -fexpensive-optimizations -O1

g++.exe -c ../house.cpp -o obj//house.o -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include/c++" -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include" -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O2 -fexpensive-optimizations -O1

g++.exe -c ../housetile.cpp -o obj//housetile.o -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include/c++" -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include" -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O2 -fexpensive-optimizations -O1

g++.exe -c ../ioban.cpp -o obj//ioban.o -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include/c++" -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include" -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O2 -fexpensive-optimizations -O1

g++.exe -c ../ioguild.cpp -o obj//ioguild.o -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include/c++" -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include" -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O2 -fexpensive-optimizations -O1

g++.exe -c ../iologindata.cpp -o obj//iologindata.o -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include/c++" -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include" -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O2 -fexpensive-optimizations -O1

g++.exe -c ../iomap.cpp -o obj//iomap.o -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include/c++" -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include" -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O2 -fexpensive-optimizations -O1

g++.exe -c ../iomapserialize.cpp -o obj//iomapserialize.o -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include/c++" -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include" -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O2 -fexpensive-optimizations -O1

g++.exe -c ../item.cpp -o obj//item.o -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include/c++" -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include" -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O2 -fexpensive-optimizations -O1

g++.exe -c ../itemattributes.cpp -o obj//itemattributes.o -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include/c++" -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include" -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O2 -fexpensive-optimizations -O1

g++.exe -c ../items.cpp -o obj//items.o -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include/c++" -I"C:/Users/Dourado/Desktop/Stian's Repack Dev-Cpp v2/include" -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O2 -fexpensive-optimizations -O1

../items.cpp: In member function `void Items::parseItemNode(xmlNode*, uint32_t)':
../items.cpp:1634: error: 'struct std::_List_iterator<int32_t>' has no member named 'condition'

../items.cpp:1639: error: 'class Condition' has no member named 'addDamage'
../items.cpp:1645: error: 'class Condition' has no member named 'getTotalDamage'

make.exe: *** [obj//items.o] Error 1

Execution terminated
 
Did exactly as the instructions told me:
Error:

Code:
  64-bit mode not compiled in
 
Wow thanks! It's 5th, yeaah... 5th tutorial today and FINIALLY it WORKS!
Thanks a lot, I would never come up with that,
Who would think? whole the mess because of directions =)
you made my day =)
 
Hi! Thanks for your tutorial :) Sadly I have an error :/

cannot find -lua5.1
C:\Users\Marcus\Desktop\0.3.6.r102\dev-cpp\Makefile.win [Build Error] [TheForgottenServer.exe] Error 1

Someone know whats wrong? :) I got a lua5.1.dll file in the 036.r102.

EDIT:

I have more errors now.. The lua5.1 error is gone. Now it is alot of errors, something is wrong
 
Last edited:
i have one problem, but is not with tutorial..
My sources doesnt have The TheForgottenServer.dev.. :/
any solution ?
 
ok so i complied mine and i was wondering we have been having so much trouble lifting the hp and mp and exp and damage amounts we got it working but only allowed 4.8 bil and then u had to do the command in game . cuz on log out and in it would kill ur char.. any ideas or help let me know. thanks
 
Back
Top