_ferrari_
Well-Known Member
- Joined
- Sep 17, 2011
- Messages
- 119
- Reaction score
- 56
Introduction
Most people who have worked with OTC before might have come across general lack of direction and information regarding pretty much everything - modules, sources, graphics, etc.. These hinder the growth of the OTC users and developers. This is because OTC tends to be difficult to work with, which keeps away developers, and prone to bugs and unexpected behavior, which makes users dislike it.
Even with these problems making OTC's life difficult, it is still a very solid project, and I strongly believe it has the potential of being the next big thing it our little world right here. This thread is meant to address one of the two major problems with OTC in my opinion, compilation, the other being deficiency of a good cryptography support.
Objectives
The objectives of this thread are gathering information and making a community effort to:
- Formulate a solid, easy to follow, foolproof compilation tutorial for major systems, compilers and IDEs;
- When possible, provide a pack with materials needed for compilation, such as libraries;
- Address common problems during compilation.
Motivation
The tutorials on the OTC github don't work properly, requiring multiple workarounds. One example of this on Linux is this issue Unable to compile on Ubuntu 15 x64 · Issue #726 · edubart/otclient · GitHub where a dependency requires the user to download a lib's sources, cmake, make, install and finally move the lib to the otclient folder (phew!). Furthermore, OTC is practically impossible to compile on Windows, where most libs are outdated and complicated to obtain, and the tutorial from github is of no help.
On Windows systems, multiple of the #ifdef preprocessor definitions are stated as #ifdef WIN32, where it should have been _WIN32 when using Code Blocks (I'm not sure about Visual Studio though). Obtaining all the dependencies and linking them with the OTC object files to produce a binary file is an extremelly difficult task overrall and is one of the main motivations of this thread.
Plan of Action
In the event of more people being interested in working with this, I will manage the people and produce all the text and tutorials to comply with the objectives. The people involved will follow the errors and fix one by one until a compilable and linkable configuration is obtained.
From this successful run, the whole setup will be analyzed and a tutorial for that system will be made available for the public. The experience obtained with the work will be very useful in order to make progress on other systems. In the end, a complete tutorial will be made available to major IDEs and systems, with a pack of libraries needed when applicable, as stated in the Objectives session.
How to Participate
Leave a message in this thread or send me a private message. I will do my best to manage the people and delegate tasks, possibly using a discord channel or any other means of communication necessary (mailing lists or whatever).
Conclusion
I hope people are interested in this to the point of joining and contributing. This is to everyone's gain and this forum is absolutely filled with compilation problems regarding OTC, and still nobody has done anything about it - as far as I know.
Thanks for taking the time to read the thread I hope to hear from you.