Compiling TFS 1.0/1.1 latest source. 64 and 32 bits. Pics and lots of explanation.

fernandon

New Member
Joined
Feb 16, 2008
Messages
22
Best answers
0
Reaction score
0
Severity Code Description Project File Line Suppression State
Error C1083 Cannot open include file: 'boost/asio.hpp':
 

Huntre

Member
Joined
Mar 22, 2011
Messages
70
Best answers
1
Reaction score
6
Error 1 error C1083: Cannot open include file: 'pugixml.hpp': No such file or directory c:\forgottenserver-master\src\otpch.h 44 1 theforgottenserver
 

farore

Excellent OT User
Joined
Mar 2, 2009
Messages
74
Best answers
0
Reaction score
24
I'm trying to set it all up but for some reason my ports 7171 and 7172 are not opened, I'm sure I've done the right changes on my router.
When I compile in visual studio express 2013 using "rebuild" everything works, no cmd window shows up though, shouldn't there be one?

My log:
Code:
Build started 2016-02-25 15:10:26.
     1>Project "C:\ot\forgottenserver-1.0\vc12\theforgottenserver.vcxproj" on node 2 (Rebuild target(s)).
     1>ClCompile:
         C:\Program Files\Microsoft Visual Studio 12.0\VC\bin\CL.exe /c /I"C:\ot\tfs-sdk-2.0\LuaJIT\include" /I"C:\ot\tfs-sdk-2.0\mpir\include" /I"C:\ot\tfs-sdk-2.0\mysql-connector-c\include" /IC:\local\boost_1_57_0 /I"C:\ot\forgottenserver-master\vc14" /I"C:\ot\tfs-sdk-2.0\LuaJIT\\include" /I"C:\ot\tfs-sdk-2.0\mpir\\include" /I"C:\ot\tfs-sdk-2.0\mysql-connector-c\\include" /Zi /nologo /W3 /WX- /MP /Ox /Oy- /GL /D NDEBUG /D _CONSOLE /D _CRT_SECURE_NO_WARNINGS /D _WINSOCK_DEPRECATED_NO_WARNINGS /Gm- /EHsc /MD /GS /fp:precise /Zc:wchar_t /Zc:forScope /Yc"otpch.h" /Fp"Release\theforgottenserver.pch" /Fo"Release\\obj_r\\" /Fd"Release\vc120.pdb" /Gd /TP /analyze- /errorReport:prompt ..\src\otpch.cpp
         otpch.cpp
         C:\Program Files\Microsoft Visual Studio 12.0\VC\bin\CL.exe /c /I"C:\ot\tfs-sdk-2.0\LuaJIT\include" /I"C:\ot\tfs-sdk-2.0\mpir\include" /I"C:\ot\tfs-sdk-2.0\mysql-connector-c\include" /IC:\local\boost_1_57_0 /I"C:\ot\forgottenserver-master\vc14" /I"C:\ot\tfs-sdk-2.0\LuaJIT\\include" /I"C:\ot\tfs-sdk-2.0\mpir\\include" /I"C:\ot\tfs-sdk-2.0\mysql-connector-c\\include" /Zi /nologo /W3 /WX- /MP /Ox /Oy- /GL /D NDEBUG /D _CONSOLE /D _CRT_SECURE_NO_WARNINGS /D _WINSOCK_DEPRECATED_NO_WARNINGS /Gm- /EHsc /MD /GS /fp:precise /Zc:wchar_t /Zc:forScope /Yu"otpch.h" /Fp"Release\theforgottenserver.pch" /Fo"Release\\obj_r\\" /Fd"Release\vc120.pdb" /Gd /TP /analyze- /errorReport:prompt ..\src\actions.cpp ..\src\ban.cpp ..\src\baseevents.cpp ..\src\bed.cpp ..\src\chat.cpp ..\src\combat.cpp ..\src\commands.cpp ..\src\condition.cpp ..\src\configmanager.cpp ..\src\connection.cpp ..\src\container.cpp ..\src\creature.cpp ..\src\creatureevent.cpp ..\src\cylinder.cpp ..\src\database.cpp ..\src\databasemanager.cpp ..\src\depotchest.cpp ..\src\depotlocker.cpp ..\src\events.cpp ..\src\fileloader.cpp ..\src\game.cpp ..\src\globalevent.cpp ..\src\groups.cpp ..\src\guild.cpp ..\src\house.cpp ..\src\housetile.cpp ..\src\inbox.cpp ..\src\ioguild.cpp ..\src\iologindata.cpp ..\src\iomap.cpp ..\src\iomapserialize.cpp ..\src\iomarket.cpp ..\src\item.cpp ..\src\items.cpp ..\src\luascript.cpp ..\src\mailbox.cpp ..\src\map.cpp ..\src\monster.cpp ..\src\monsters.cpp ..\src\mounts.cpp ..\src\movement.cpp ..\src\networkmessage.cpp ..\src\npc.cpp ..\src\otserv.cpp ..\src\outfit.cpp ..\src\outputmessage.cpp ..\src\party.cpp ..\src\player.cpp ..\src\position.cpp ..\src\protocol.cpp ..\src\protocolgame.cpp ..\src\protocollogin.cpp ..\src\protocolold.cpp ..\src\quests.cpp ..\src\raids.cpp ..\src\rsa.cpp ..\src\scheduler.cpp ..\src\scriptmanager.cpp ..\src\server.cpp ..\src\spawn.cpp ..\src\spells.cpp ..\src\protocolstatus.cpp ..\src\talkaction.cpp ..\src\tasks.cpp ..\src\teleport.cpp ..\src\thing.cpp ..\src\tile.cpp ..\src\tools.cpp ..\src\trashholder.cpp ..\src\vocation.cpp ..\src\waitlist.cpp ..\src\weapons.cpp ..\src\wildcardtree.cpp
         actions.cpp
         ban.cpp
         baseevents.cpp
         bed.cpp
         chat.cpp
         combat.cpp
         commands.cpp
         condition.cpp
         configmanager.cpp
         connection.cpp
         container.cpp
         creature.cpp
         creatureevent.cpp
         cylinder.cpp
         database.cpp
         databasemanager.cpp
         depotchest.cpp
         depotlocker.cpp
         events.cpp
         fileloader.cpp
         game.cpp
         globalevent.cpp
         groups.cpp
         guild.cpp
         house.cpp
         housetile.cpp
         inbox.cpp
         ioguild.cpp
         iologindata.cpp
         iomap.cpp
         iomapserialize.cpp
         iomarket.cpp
         item.cpp
         items.cpp
         luascript.cpp
         mailbox.cpp
         map.cpp
         monster.cpp
         monsters.cpp
         mounts.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
         scriptmanager.cpp
         server.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
       Link:
         C:\Program Files\Microsoft Visual Studio 12.0\VC\bin\link.exe /ERRORREPORT:PROMPT /OUT:"C:\ot\forgottenserver-1.0\vc12\Release\theforgottenserver.exe" /INCREMENTAL:NO /NOLOGO /LIBPATH:"C:\ot\tfs-sdk-2.0\LuaJIT\lib" /LIBPATH:"C:\ot\tfs-sdk-2.0\mpir\lib" /LIBPATH:"C:\ot\tfs-sdk-2.0\mysql-connector-c\lib" /LIBPATH:"C:\local\boost_1_57_0\lib32-msvc-12.0" /LIBPATH:"C:\ot\forgottenserver-master\vc14\lib32-msvc-12.0" /LIBPATH:"C:\ot\tfs-sdk-2.0\LuaJIT\\lib" /LIBPATH:"C:\ot\tfs-sdk-2.0\mpir\\lib" /LIBPATH:"C:\ot\tfs-sdk-2.0\mysql-connector-c\\lib" lua51.lib mpir.lib libmysql.lib /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed /DEBUG /PDB:"C:\ot\forgottenserver-1.0\vc12\Release\theforgottenserver.pdb" /SUBSYSTEM:CONSOLE /LARGEADDRESSAWARE /OPT:REF /OPT:ICF /LTCG /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:"C:\ot\forgottenserver-1.0\vc12\Release\theforgottenserver.lib" /MACHINE:X86 /SAFESEH Release\\obj_r\actions.obj
         Release\\obj_r\ban.obj
         Release\\obj_r\baseevents.obj
         Release\\obj_r\bed.obj
         Release\\obj_r\chat.obj
         Release\\obj_r\combat.obj
         Release\\obj_r\commands.obj
         Release\\obj_r\condition.obj
         Release\\obj_r\configmanager.obj
         Release\\obj_r\connection.obj
         Release\\obj_r\container.obj
         Release\\obj_r\creature.obj
         Release\\obj_r\creatureevent.obj
         Release\\obj_r\cylinder.obj
         Release\\obj_r\database.obj
         Release\\obj_r\databasemanager.obj
         Release\\obj_r\depotchest.obj
         Release\\obj_r\depotlocker.obj
         Release\\obj_r\events.obj
         Release\\obj_r\fileloader.obj
         Release\\obj_r\game.obj
         Release\\obj_r\globalevent.obj
         Release\\obj_r\groups.obj
         Release\\obj_r\guild.obj
         Release\\obj_r\house.obj
         Release\\obj_r\housetile.obj
         Release\\obj_r\inbox.obj
         Release\\obj_r\ioguild.obj
         Release\\obj_r\iologindata.obj
         Release\\obj_r\iomap.obj
         Release\\obj_r\iomapserialize.obj
         Release\\obj_r\iomarket.obj
         Release\\obj_r\item.obj
         Release\\obj_r\items.obj
         Release\\obj_r\luascript.obj
         Release\\obj_r\mailbox.obj
         Release\\obj_r\map.obj
         Release\\obj_r\monster.obj
         Release\\obj_r\monsters.obj
         Release\\obj_r\mounts.obj
         Release\\obj_r\movement.obj
         Release\\obj_r\networkmessage.obj
         Release\\obj_r\npc.obj
         Release\\obj_r\otpch.obj
         Release\\obj_r\otserv.obj
         Release\\obj_r\outfit.obj
         Release\\obj_r\outputmessage.obj
         Release\\obj_r\party.obj
         Release\\obj_r\player.obj
         Release\\obj_r\position.obj
         Release\\obj_r\protocol.obj
         Release\\obj_r\protocolgame.obj
         Release\\obj_r\protocollogin.obj
         Release\\obj_r\protocolold.obj
         Release\\obj_r\quests.obj
         Release\\obj_r\raids.obj
         Release\\obj_r\rsa.obj
         Release\\obj_r\scheduler.obj
         Release\\obj_r\scriptmanager.obj
         Release\\obj_r\server.obj
         Release\\obj_r\spawn.obj
         Release\\obj_r\spells.obj
         Release\\obj_r\protocolstatus.obj
         Release\\obj_r\talkaction.obj
         Release\\obj_r\tasks.obj
         Release\\obj_r\teleport.obj
         Release\\obj_r\thing.obj
         Release\\obj_r\tile.obj
         Release\\obj_r\tools.obj
         Release\\obj_r\trashholder.obj
         Release\\obj_r\vocation.obj
         Release\\obj_r\waitlist.obj
         Release\\obj_r\weapons.obj
         Release\\obj_r\wildcardtree.obj
         Generating code
         Finished generating code
         theforgottenserver.vcxproj -> C:\ot\forgottenserver-1.0\vc12\Release\theforgottenserver.exe
     1>Done Building Project "C:\ot\forgottenserver-1.0\vc12\theforgottenserver.vcxproj" (Rebuild target(s)).

Build succeeded.

Time Elapsed 00:03:55.10
 
Last edited:

Wirless

7.6 is the best :D
Joined
Nov 3, 2012
Messages
1,024
Best answers
1
Reaction score
193
Location
Ireland-Poland
im trying to compile this on vstudio 2015 .140 it wont let me why?
1>------ Rebuild All started: Project: theforgottenserver, Configuration: Release x64 ------
1> otpch.cpp
1> Unknown compiler version - please run the configure tests and report the results
1> actions.cpp
1> ban.cpp
1> baseevents.cpp
1> bed.cpp
1> chat.cpp
1> combat.cpp
1> commands.cpp
1> condition.cpp
1> configmanager.cpp
1> connection.cpp
1> container.cpp
1> creature.cpp
1> creatureevent.cpp
1> cylinder.cpp
1> database.cpp
1> databasemanager.cpp
1> databasetasks.cpp
1> depotchest.cpp
1> depotlocker.cpp
1> events.cpp
1> fileloader.cpp
1> game.cpp
1> globalevent.cpp
1> groups.cpp
1> guild.cpp
1> house.cpp
1> housetile.cpp
1> inbox.cpp
1> ioguild.cpp
1> iologindata.cpp
1> iomap.cpp
1> iomapserialize.cpp
1> iomarket.cpp
1> item.cpp
1> items.cpp
1> luascript.cpp
1> mailbox.cpp
1> map.cpp
1> monster.cpp
1> monsters.cpp
1> mounts.cpp
1> movement.cpp
1> networkmessage.cpp
1> npc.cpp
1> otserv.cpp
1> outfit.cpp
1> outputmessage.cpp
1>C:\BOOST\boost/lockfree/stack.hpp(139): error C2280: 'std::atomic<boost::lockfree::detail::tagged_index>::atomic(void) noexcept': attempting to reference a deleted function (compiling source file ..\src\outputmessage.cpp)
1> C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\atomic(662): note: see declaration of 'std::atomic<boost::lockfree::detail::tagged_index>::atomic' (compiling source file ..\src\outputmessage.cpp)
1> C:\BOOST\boost/lockfree/stack.hpp(137): note: while compiling class template member function 'boost::lockfree::stack<T *,boost::lockfree::capacity<2048>,boost::parameter::void_,boost::parameter::void_>::stack(void)'
1> with
1> [
1> T=_Refoa
1> ] (compiling source file ..\src\outputmessage.cpp)
1> party.cpp
1> c:\users\backspace\desktop\globalot_tfs source\src\lockfree.h(53): note: see reference to function template instantiation 'boost::lockfree::stack<T *,boost::lockfree::capacity<2048>,boost::parameter::void_,boost::parameter::void_>::stack(void)' being compiled
1> with
1> [
1> T=_Refoa
1> ] (compiling source file ..\src\outputmessage.cpp)
1> c:\users\backspace\desktop\globalot_tfs source\src\lockfree.h(43): note: see reference to class template instantiation 'boost::lockfree::stack<T *,boost::lockfree::capacity<2048>,boost::parameter::void_,boost::parameter::void_>' being compiled
1> with
1> [
1> T=_Refoa
1> ] (compiling source file ..\src\outputmessage.cpp)
1> c:\users\backspace\desktop\globalot_tfs source\src\lockfree.h(42): note: while compiling class template member function 'void LockfreePoolingAllocator<U,2048>::deallocate(T *,size_t) const'
1> with
1> [
1> U=_Refoa,
1> T=_Refoa
1> ] (compiling source file ..\src\outputmessage.cpp)
1> C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xmemory0(909): note: see reference to function template instantiation 'void LockfreePoolingAllocator<U,2048>::deallocate(T *,size_t) const' being compiled
1> with
1> [
1> U=_Refoa,
1> T=_Refoa
1> ] (compiling source file ..\src\outputmessage.cpp)
1> C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xmemory0(799): note: see reference to class template instantiation 'LockfreePoolingAllocator<U,2048>' being compiled
1> with
1> [
1> U=_Refoa
1> ] (compiling source file ..\src\outputmessage.cpp)
1> C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\memory(987): note: see reference to class template instantiation 'std::_Wrap_alloc<LockfreePoolingAllocator<U,2048>>' being compiled
1> with
1> [
1> U=_Refoa
1> ] (compiling source file ..\src\outputmessage.cpp)
1> ..\src\outputmessage.cpp(81): note: see reference to function template instantiation 'std::shared_ptr<OutputMessage> std::allocate_shared<OutputMessage,OutputMessageAllocator,>(const _Alloc &)' being compiled
1> with
1> [
1> _Alloc=OutputMessageAllocator
1> ]
1> C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\chrono(813): note: see reference to class template instantiation 'std::chrono::duration<__int64,std::milli>' being compiled (compiling source file ..\src\outputmessage.cpp)
1> player.cpp
1> position.cpp
1> protocol.cpp
 

Ahmed Kotb

Mapper
Joined
Mar 12, 2015
Messages
72
Best answers
0
Reaction score
0
i cant compile can i give anyone the source and fixed my Buggs and Compile it to me please
 

sematico

Mapper
Joined
Oct 24, 2008
Messages
44
Best answers
0
Reaction score
35
Location
Brazil
Hello there! First, I want to thank everyone who helped out in this thread, I gave a like to every comment that helped me hahha :)~

I was able to compile it! First time I've actually done it

However, I got this message below right at the beginning of the compile log. Should I do something about it?
Code:
1>------ Rebuild All started: Project: theforgottenserver, Configuration: Release x64 ------
1>  otpch.cpp
1>C:\local\boost_1_59_0\boost/asio/detail/config.hpp(227): warning C4005: 'BOOST_ASIO_ERROR_CATEGORY_NOEXCEPT': macro redefinition
1>  C:\local\boost_1_59_0\boost/asio/detail/config.hpp(213): note: see previous definition of 'BOOST_ASIO_ERROR_CATEGORY_NOEXCEPT'
1>  actions.cpp
.................. (all the other ones work normally) ...............
1>  wildcardtree.cpp
1>  Generating code
1>  Finished generating code
1>  theforgottenserver.vcxproj -> C:\Users\Rogério G. Meirelles\Documents\Outros\Tibia OT Server\Servers & Datapacks\(8.6) TFS 1.2\vc14\x64\Release\theforgottenserver.exe
========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========
--edit
Just for the record, I compiled a TFS 1.2 on Visual Studios 2015 with tfs-sdk-3.2 and boost 1.5.9
 
Last edited:

Sinth

Argardh.com
Joined
Jan 14, 2015
Messages
721
Best answers
0
Reaction score
121
Location
Cambodia
Code:
1>------ Rebuild All started: Project: theforgottenserver, Configuration: Release x64 ------
1>  otpch.cpp
1>  Unknown compiler version - please run the configure tests and report the results
1>c:\tfs\forgottenserver-8.6\src\otpch.h(44): fatal error C1083: Cannot open include file: 'pugixml.hpp': No such file or directory
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========
Not using TFS 1.0 or 1.1, though, but "[8.60] The Forgotten Server 1.2"


from:
https://otland.net/threads/8-60-the-forgotten-server-1-2.236489/

If its a vast difference in what I need to compile that 1, why is this thread linked in his thread? And does anyone know if there is a tutorial or thread for "[8.60] The Forgotten Server 1.2" compiling?
 

Sinth

Argardh.com
Joined
Jan 14, 2015
Messages
721
Best answers
0
Reaction score
121
Location
Cambodia
MSVC is the visual studio that took 5 hours to install? :p Should I uninstall and reinstall MSVC 2015 express?

Just updated Boost to 1.59 as Ninja said would work for Win10..
TFS SDK 3.2? Alrighty... what is this more exactly?

Thanks a lot!
 

Itutorial

Premium User
Premium User
Joined
Dec 23, 2014
Messages
1,540
Best answers
35
Reaction score
376
The SDK is all the includes and libs for TFS

That is what I am using to compile right now. Those 3 things.
 

Sinth

Argardh.com
Joined
Jan 14, 2015
Messages
721
Best answers
0
Reaction score
121
Location
Cambodia
So, had to add: pugixml/include aswell(first error, popped up directly. This Folder is in the TFS SDK 3.2 @Itutorial linked), but:

Code:
Severity    Code    Description    Project    File    Line    Suppression State
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)    theforgottenserver    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\atomic    661
 

Sinth

Argardh.com
Joined
Jan 14, 2015
Messages
721
Best answers
0
Reaction score
121
Location
Cambodia
What boost to add under 'Linking' when adding Boost 1.6? it does not contain a lib64 but a folder named only lib..?

Anyways, trying all possible variations, not working.. (and same error as before, though i managed to get it only in the process-line and not as an error-message.. same result though, ofcourse = fail)


1>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\atomic(661): 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)
1> C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\atomic(675): note: see reference to class template instantiation 'std::_Atomic_base<_Ty,4>' being compiled
1> with
1> [
1> _Ty=boost::lockfree::detail::tagged_index
1> ] (compiling source file ..\src\outputmessage.cpp)
1> C:\boost\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)
1> C:\boost\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)
1> position.cpp
 
Last edited:

Itutorial

Premium User
Premium User
Joined
Dec 23, 2014
Messages
1,540
Best answers
35
Reaction score
376
Alright so when you are linking the SDK you need to make sure you open to the very last file it will let you...so in the includes you will see:

TFSSDK/mysqlconnecter-c/include/mysql


Make sure you link to the very last folders for all includes and libs...Make sure there isn't another folder inside the folder you are linking.
 

Sinth

Argardh.com
Joined
Jan 14, 2015
Messages
721
Best answers
0
Reaction score
121
Location
Cambodia
Umm alright thanks, ill try that but: It seems the boost thing is always the cause of the problem.

And as said, boost160 does not have any lib64 but only a folder named lib with 20+ other oflders inside... ??


Edit: Last comment need an answer. Boost160 does not have a lib64 folder..
 
Last edited:

Sinth

Argardh.com
Joined
Jan 14, 2015
Messages
721
Best answers
0
Reaction score
121
Location
Cambodia
Alright so when you are linking the SDK you need to make sure you open to the very last file it will let you...so in the includes you will see:

TFSSDK/mysqlconnecter-c/include/mysql


Make sure you link to the very last folders for all includes and libs...Make sure there isn't another folder inside the folder you are linking.
Not sure how certain you are of this, but "TFSSDK/mysqlconnecter-c/include/mysql" is certainly not correct!
 

Itutorial

Premium User
Premium User
Joined
Dec 23, 2014
Messages
1,540
Best answers
35
Reaction score
376
Are you using TFS-SDK 3.2?

The regular lib works for 64 also.
 
Top