To compile the Execution Monitor as standalone library compose it using only execution_monitor.cpp as a source file. You could add this file also directly to the list of source files for your project. Boost Test Library's components include this file as a part of their compilation procedure. In some cases you may want to include the source file along with header file into your sources. But be aware that to be able to catch all kinds of standard exceptions and to implement signal handling logic this file will bring a lot of dependencies. You may use this component in both debug and release modes. But be aware that in release mode the Execution Monitor wouldn't catch Microsoft C runtime debug events.