Posts with topic: Libraries

A simple, customized logger, based on Boost.Log v2

Todays applications grow rapidly, complexity increases and finding bugs becomes more and more difficult. Especially for multi threaded applications, for applications that heavily depend on asynchronous external events or for applications that you don’t have local access to, an appropriate logging facility is invaluable for tracking down bugs. Boost.Log (v2) is a powerful C++ library that provides a simple way to integrate an extensible and performant logging facility in your application.
→ Read More

Creating and using shared libraries with different compilers on different operating systems

If you want to make your C/C++ project portable between operating systems and compilers, there are some things to consider. In this article I focus on shared libraries and give a practical overview on how to create and use shared libraries with various compilers on various operating systems, with the goal of portable source code and a unified build process. “A shared library or shared object is a file that is shared by executable files and further shared objects files.
→ Read More

Playing around with libclang -> reverse engineering UML class diagrams

libclang is a stable, high level C interface to Clang - a compiler for C/C++ family programming languages based on LLVM. I recently played around with the python bindings to libclang and created a small tool called CodeDependencyVisualizer. This tool is intended for reverse engineering UML class diagrams out of existing C++ code. It can generate class diagrams with inheritances and associations. If class X is derived from class Y, a closed arrow is drawn from X to Y (inheritance).
→ Read More

A QT Widget for Ogre3d

I recently played around with integrating Ogre3d into a QT5 Application. There are various resources about integrating Ogre3d and QT on the net, but for me non of them worked out of the box with recent QT5 and Ogre3d on Linux. Therefore i decided to publish my working implementation of an Ogre3d Qt widget that works on my up to date ArchLinux with Qt 5.2 and Ogre 1.9.0. You can find the sources on github.
→ Read More