Как добавить включать пути для предварительно скомпилированных заголовков в Cmake?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как добавить включать пути для предварительно скомпилированных заголовков в Cmake?

Сообщение Anonymous »

давайте просто скажем, что у меня есть структура папок, как это: < /p>
/root
/folder
-String.h
/folder2
-Json.h
< /code>
В моем проекте я добавляю /ровно к включенным путям и могу сделать: < /p>
#include "folder/String.h"
< /code>
И это работает. < /p>
Теперь я хочу попробовать с предварительным заголовком, поэтому я делаю pch.h и положил: < /p>
#include "folder/String.h"
< /code>
в нем. Прежде чем сделать это предварительно скомпилированный заголовок, если я просто сделаю: < /p>
#include "pch.h"
< /code>
это работает. «Папка/String.h» найдена, потому что этот заголовок вставлен в мой проект, и у меня уже есть набор каталогов включения. Однако теперь я делаю это Pch.h в предварительно скомпилированный заголовок с: < /p>
target_precompile_headers(main PRIVATE
"${PROJECT_SOURCE_DIR}/pch.h")
< /code>
А теперь это настоящий предварительный заголовок. Когда я пытаюсь скомпилировать это, я получаю ошибку, говоря, что она не может найти "/folder/string.h", и это правильно, потому что теперь предварительно скомпилированный заголовок собирается отдельно, и они включают пути, если они не существуют при их составлении. Кроме того, string.h может включать другие файлы, такие как /doffulder2/json.h, и в этом случае /корневая папка должна быть установлена ​​в качестве каталога включения при составлении предварительно скомпилированного заголовка. Но target_precompile_headers в cmake, похоже, не имеет для этого.

Подробнее здесь: https://stackoverflow.com/questions/797 ... s-in-cmake
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»