Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Author: Eddie Carle

Version: 3.1alpha


October 12, 2018 - PostgreSQL functionality is now complete and I'm really hoping to get people testing and giving feedback as soon as possible. I'm pretty proud of this particular iteration at integrating database functionality into fastcgi++ so go easy on me! Check out the example, unit test and reference documentation for further details.

April 5, 2018 - It's been long enough, 3.0 is now official and marked stable.

May 28, 2016 - Some good examples are now done and in the documentation. I've got said documentation hosted online now so check it out.

May 18, 2016 - The re-write is now effectively complete. What I mean by this is that the library now builds and passes some basic benchmarking tests. I'm really hoping to get as much feedback as possible so please test away. The docs are not web hosted anywhere yet so you'll have to build them yourself as described below. Note that the only example/tutorial that works so far is the helloworld one.

April 10, 2016 - Fastcgi++ is going through a dramatic rewrite now and the master branch does not work at all. If you're here hoping for a functional version scroll down to the releases section. If you'd like to read a bit more about the rewrite and fastcgi++ in general, check out [Ten years of fastcgi++].


This library is intended as a high-efficiency C++20 api for web development. It allows your applications to communicate with web servers through the FastCGI protocol, tabulates all your environment data, manages character encoding, and allows requests to effectively share CPU time. If you want any further information check the Doxygen documentation associated with the respective release, or build it yourself. Be sure to read through the examples.


Your best bet for releases and documentation is to clone the Git repository, checkout the tag you want and see the building section of either this file or the Doxygen documentation. If you're too lazy for that, however, you can take the risk and try the following links.


This should provide you with all the basic stuff you need to do to get fastcgi++ built and installed. The build system is CMake and the following instructions assume you are in Bash.

First we need to clone.

git clone fastcgi++

Then we make a build directory.


Now we need run cmake. Note that the install prefix is being explicitly set to /usr because most server spawned FastCGI applications lack the /usr/local library directories in the search path.


And if we want to build the PostgreSQL stuff we need to actually make it do so.


Note that that was to do a release build. That means heavily optimized and not good for debugging. If you want to do some debugging to either fastcgi++ or an application you are developing that uses fastcgi++, do a debug build.


Or if you want some really hardcore debug and diagnostics info


Now let's build the library itself.


Then we can build the documentation if we so desire.

make doc

Now let's install it all (doc included if it was built).

sudo make install

Maybe we should build the unit tests?

make tests

And of course we should run them as well.

make test

And hey, let's build the examples too!

make examples


fastcgi++: A C++ FastCGI and Web development platform:








No packages published