Main  /  Edit  /  History  /   /  Users Area

CppCMS For embedded systems

General

Generally CppCMS can be used as-is for embedded systems. However there are many features that are heavy and targeted for high performance web servers. These options are rather useless for embedded system.

Thus additional build options that make this library optimized for embedded system provided.

They are reduce number of dependencies and make executable significantly smaller.

Changes in Embedded Build

Normal Embedded Build

CGI Mode

Minimal Dependencies

Embedded compilation allows building CppCMS using only following libraries:

Cross Compilation of CppCMS

General

For cross compilation you should use --host configuration switch according to your platform, for example:

./configure --host=arm-linux-eabi ...
./configure --host=mips-linux-gnu

Do not forget to build boost and cgicc as well. Refer to your platform documentation for cross-compilation instructions.

Build Flags:

Additional flags:

For example:

./configure --host=arm-linux-gnu --prefix=/usr/arm-linux-gnu CXXFLAGS=-Os --enable-embedded --enable-cgi

Would configure cross compilation make files for ARM platform,

Notes:

Static Linking

In some cases you want to build your application without dependencies on many shared objects. Thus you can link your application "almost" statically.

Only system libraries like libc, libstdc++, pthreads, rt would be linked dynamically

CGI Only

You can build "almost" static build as following:

g++ hello.o /path/to/libcppcms.a /path/to/libcppcmstranstext.a /path/to/libboost_signals.a /path/to/libboost_regex.a /path/to/libcgicc.a 

With Worker Threads

You can build "almost" static build as following:

g++ hello.o /path/to/libcppcms.a /path/to/libcppcmstranstext.a /path/to/libboost_signals.a /path/to/libboost_regex.a /path/to/libcgicc.a -lrt -lpthread

About

CppCMS is a web development framework for performance demanding applications.

Support This Project

SourceForge.net Logo

Поддержать проект

CppCMS needs You


Navigation

Main Page


Valid CSS | Valid XHTML 1.0