Build Examples
The following is a table of common IDE solution and project files that contain a reference to the library source, these solution files are bare-bones configurations that will allow you to build Omni as a static library (.lib or .a) but can be referenced in many ways to suit your needs.

Each solution references the source at the directory C:\source\omni on Windows platforms and /source/code for non-Windows platforms. The Windows based cross-platform project files (those associated with cross-platform IDE's like Qt or Eclipse) reference MinGW/MSYS as their compiler tool chains, but can be switched for Cygwin or another tool chain if you choose.

It should be noted that how to install a compiler (assuming a compiler was not installed with your platform) and/or setup a build environment is beyond the scope of this help documentation; there is a plethora of well written manuals on how to install and setup a C++ compiler for the various platforms available for free through various outlets.

IDEWindowsAppleLinux
CodeBlocks download download download
DevCPP download download download
Eclipse download download download
NetBeans download download download
Qt download download download
shell/console download download download
Xcode N/A download N/A
Visual Studio download N/A N/A

Note: if you have put the library source somewhere other than the default location (e.g. C:\source\omni\ or /source/omni), it is recommended you open the project file in a text editor and replace the default location with the location you have placed the source. In some files the source location is a project file macro that can just be swapped for yours for convenience.
top

Referencing the source
There are multiple ways to reference and build the library source. You could use the above project files to build a static library and then reference and link against it in other projects. You could also include the above project files in your other solutions/projects directly; this has the same effect as the prior option (a static library build) except that the library is directly referenced via the project instead of via an external binary reference (e.g. referencing the .pro/.sln vs. the .lib/.a).

You can also include the source directly in your projects, where by you will need to ensure you build your project such that it references the needed system libraries for the library source you are using (like specifying -pthread if building any synchronization code on POSIX platforms).

As well, Omni has been designed so that you could build the entire library by simply building the file library.cpp. This is a convenience file that can be used for simpler command line builds. Example:

g++ your_code.cpp /source/omni/library.cpp -I/source/omni -pthread
or
cl.exe your_code.cpp C:\source\omni\library.cpp -IC:\source\omni

This allows for you to run unit tests or cut down on build times by having a single source file to parse and build.
top

Need more help?
While we have tried to architect as much of the library source and help files to be as trivial to setup and use as possible, we also know there is always that one time that something just does not go right. If you need help setting up, referencing or using the library, you can contact the Omni Q&A for support and we will be glad to assist in what ways we can!

top