# Magnum + Qt Quick bootstrap This app demonstrates Magnum rendering engine within a Qt Quick application, using a shared framebuffer object.. ## Common pitfalls ### Header inclusion order Follow one simple rule: Always include Magnum's headers first. If you're including your own headers, make sure that this rules is obeyed. It's very easy to violate it. Common symptom is compiler errors about missing declarations for `glFinish`, `glFlush` and `glGetError`, which some Qt headers (`QOpenGLFunctions`) are undefining. For a bomb-proof solution, make a header file that includes all of your Magnum and Qt dependencies in correct order. ### CMake AUTOMOC CMake detects a Qt project and enables `moc` preprocessor automatically for certain source files. This may not play well with Magnum's headers. If you see `moc` related build errors in Magnum's headers, improve separation between Magnum and Qt code, ie. move Magnum code to its own source files.