Main  /  Edit version 3  /  Edit version 4  /   /  Users Area

Difference "CppCMS For embedded systems" ver. 3 versus ver. 4

Content:

**Note:** _Available starting from CppCMS 0.0.4_
**Note:** _Scheduled for CppCMS 0.0.4_
## General
Generally CppCMS can be used as-is for embedded systems. However there are additional options that make this library optimized for embedded system:
- Removal of intermediate buffers, caching and compression -- reduces memory footprint and removes dependency on `boost::iostreams`, zlib and bzip2 libraries.
- Removed mod-prefork
- Optional compilation in CGI mode -- removal of FastCGI and SCGI API and worker models.
- Removed dynamic templates loading.
This compilation allows building CppCMS using only following libraries:
- libcgicc
- libboost\_signals
- libboost\_regex.
## Compilation
Build Flags:
- `--enable-embedded` -- Create embedded version of cppcms.
- `--enable-cgi` -- implement CGI API only.
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 platfor,
_Notes:_
- Remember that you should build cgicc and boost as well
- It is recommended to build `boost::regex` without ICU support in order to reduce executable size.
## Static Linking
You can link your application statically as following:
### 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