diff --git a/docs/faq.md b/docs/faq.md
index a7d0455a..78da167d 100644
--- a/docs/faq.md
+++ b/docs/faq.md
@@ -10,6 +10,7 @@
[Does Catch2 support running tests in parallel?](#does-catch2-support-running-tests-in-parallel)
[Can I compile Catch2 into a dynamic library?](#can-i-compile-catch2-into-a-dynamic-library)
[What repeatability guarantees does Catch2 provide?](#what-repeatability-guarantees-does-catch2-provide)
+[My build cannot find `catch2/catch_user_config.hpp`, how can I fix it?](#my-build-cannot-find-catch2catch_user_confighpp-how-can-i-fix-it)
## How do I run global setup/teardown only if tests will be run?
@@ -89,6 +90,19 @@ above what your platform does. **Important: ``'s distributions
are not specified to be repeatable across different platforms.**
+## My build cannot find `catch2/catch_user_config.hpp`, how can I fix it?
+
+`catch2/catch_user_config.hpp` is a generated header that contains user
+compile time configuration. It is generated by CMake/Meson/Bazel during
+build. If you are not using either of these, your three options are to
+
+1) Build Catch2 separately using build tool that will generate the header
+2) Use the amalgamated files to build Catch2
+3) Use CMake to configure a build. This will generate the header and you
+ can copy it into your own checkout of Catch2.
+
+
+
---
[Home](Readme.md#top)