Compilation of the sources of an Epeios software
More and more software in the Epeios project relies on third-party frameworks (Node.js, Chromium Embeded Framework…). However, these software do not interact directly with these frameworks, but through a wrapper (NJSq for Node.js, XDHCEFq for Chromium Embeded Framework…). Therefore, this software are typical dynamic libraries, which also uses only standard/system C/C++ libraries (no
node.h header inclusion for components intended for Node.js, or
capi/cef_…. h for components intended to be used with Chromium Embedded Framework, for example). Hence, only a standard C++ development environment, as described below, is required to compile most Epeios software.
Regarding he wrappers, in addition to a C++ development environment, they will require elements specific to the environments for which they are intended. More details on these elements are available on the page dedicated to each wrapper.
GNU/Linux and other POSIX compliant OSes
For GNU/Linux (or other POSIX-compliant OSes, except macOS), to compile the software you have to launch the
make command (the GNU make command and the proper development environment have to be installed) from the root directory of the package (where there should be a
You can override the default compiler by defining the
CXX environment variable or by passing a
CXX argument to the
make command. The two recognized compilers are GNU GCC (
CXX=g++, which is the default one) and Clang (
Apart from the common IA-32 and AMD64 architectures, you can also compile for both AArch32 and AArch64 ARM architectures. This means that you can compile for and on devices like the Raspberry Pi (or Banana Pi, or ODROID…) natively in 32-bit and even in 64-bit on the new ones, if the installed GNU/Linux distribution is also 64-bit.
To obtain macOS binaries, you have compile the software by launching the
make command (you have to install XCode in order to do this) in the root directory of the package (where there should be a
releases section of the Github repository, you should find the Windows binaries. You also still need the sources of the software, because of all extra files needed to launch it (usually at least the
.xcfg suffixed files ; see the documentation of the corresponding software component for more details).
If you want to compile it, you will find a
.vcxproj suffixed file, which can be used to compile the software using Visual C++ from Microsoft.
Additionally, under Windows with Cygwin, given you have the proper development environment, you can compile it by launching
make from the root directory of the package (where there should be a
Makefile). This will give you a binary which uses the Cygwin POSIX API. If you want an application which directly uses the Windows API, you can use the MinGW compiler under Cygwin. You then have to launch