# PCH unable to get precompiled headers working

**URL:** https://discourse.cmake.org/t/pch-unable-to-get-precompiled-headers-working/14075
**Category:** Usage
**Tags:** os:windows, comp:msvc, gen:vs
**Created:** [May 10, 2025, 1:17pm UTC](https://discourse.cmake.org/t/pch-unable-to-get-precompiled-headers-working/14075 "2025-05-10T13:17:11Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![tksuoran](https://discourse.cmake.org/user_avatar/discourse.cmake.org/tksuoran/32/2093_2.png) [@tksuoran](https://discourse.cmake.org/u/tksuoran)
#### Post date: [May 10, 2025, 1:17pm UTC](https://discourse.cmake.org/t/pch-unable-to-get-precompiled-headers-working/14075/1 "2025-05-10T13:17:11Z")

</div>

I am trying to use precompiled headers.

- One library target (`erhe_pch` ) is used for creating PCH to be shared with other targets, with `REUSE_FROM`.
- When I build `erhe_pch` target in VS, the pch file (`cmake_pch.pch` ) _is_ created as expected.
- When I build any targets that use `target_precompile_headers(target REUSE_FROM erhe_pch)`, the `cmake_pch.pch` file disappears, and compiler fails with `Cannot open precompiled header file`.

CMakeLists.txt for `erhe_pch`:

```auto
add_library(erhe_pch)
target_sources(erhe_pch PRIVATE erhe_pch/dummy.cpp)
target_precompile_headers(erhe_pch PUBLIC <chrono> <filesystem> <memory> <string> <vector>)

```

CMakeLists.txt for `erhe_verify`:

```auto
add_library(erhe_verify)
add_library(erhe::verify ALIAS erhe_verify)
target_sources(erhe_verify PRIVATE erhe_verify/verify.cpp PUBLIC erhe_verify/verify.hpp)
target_include_directories(erhe_verify INTERFACE ${CMAKE_CURRENT_SOURCE_DIR})
target_precompile_headers(erhe_verify REUSE_FROM erhe_pch)

```

cmake version 4.0.1  
Visual Studio Community 2022 / 17.13.6
