Выпуск XCode PCH - элементы в PCC не включены в исходные файлы

StackOverflow https://stackoverflow.com/questions/3952222

Вопрос

Я только что создал «стандартную динамическую» библиотеку «C ++ Standard Dynamic» с помощью XCode и скомпилирован с использованием LLVM 2.0. Я замечаю, что файл PCH содержит строку #include <iostream> Но файл Test.cp. также включает в себя это #include <iostream> утверждение.

Странная вещь заключается в том, что путем удаления заявления в Test.cp., Создание не удается с ошибкой Semantic Issue – Use of undeclared identifier 'std' Несмотря на то, что это утверждение также включено в PCH.

Почему PCH не работает? Есть ли настройка, мне не хватает? Я никогда не делал ни с ними раньше (так как они всегда работают), поэтому я не уверен, что вызывает его не работать, даже с совершенно новым проектом.

Это было полезно?

Решение

Предварительно скомпилированные заголовки используются для ускорения компиляции. У них нет никакого другого эффекта, в частности, вы все еще должны включать в себя заголовки, где вам они нуждаются.

Редактировать - В Xcode файл PCH - это действительно заголовок префикса, который происходит, чтобы быть предложенным (с конфигурацией проекта по умолчанию). Проверить GCC_PRECOMPILE_PREFIX_HEADER а также GCC_PREFIX_HEADER Создание настроек.

Другие советы

Удалите полученные данные (оконный органайзер, вкладка «Проекты», выберите свой проект), чтобы XCODE восстановить индекс для PCH. Кроме того, если вы используете модульные тесты, есть отдельный PCH для достижения цели. Убедитесь, что это также включает необходимый импорт.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top