Конец заголовка не в области видимости файла pch файл intellisense не был создан
Когда я создаю свое решение на C ++ в Visual Studio, оно жалуется на отсутствие файла xxxxx.pch. Есть ли параметр, который мне не хватает, чтобы вернуть предварительно скомпилированные заголовки?
Вот точная ошибка для полноты:
ПРИМЕЧАНИЕ. Более поздние версии IDE могут использовать «pch» вместо «stdafx» в именах по умолчанию для связанных файлов. В приведенных ниже инструкциях может потребоваться заменить pch на stdafx. Я прошу прощения. Это не моя вина.
- Щелкните правой кнопкой мыши свой проект в обозревателе решений.
- Щелкните Свойства в нижней части раскрывающегося меню.
- В левом верхнем углу страниц свойств выберите в раскрывающемся меню «Все конфигурации».
- Откройте дерево C / C ++ и выберите Предварительно скомпилированные заголовки.
- Предварительно скомпилированный заголовок: выберите "Использовать" (/ Yu)
- Заполните поле Precompiled Header File. Стандарт - stdafx.h
Lucky 13. Скрестите пальцы и нажмите Build.
Я искал файл iOS PCH с той же проблемой, если вы попали сюда, как и я, решение, которое я нашел, - очистить производные данные; Закройте симуляторы, перейдите к параметрам xCode -> местоположения -> перейдите к пути к файлу производных данных, закройте xCode, удалите файлы в папке производных данных, перезапустите и приветствуйте :)
Я знаю, что эта тема очень старая, но недавно я имел дело с этим в VS2015, и что помогло, так это удаление папок сборки и ее повторная сборка. Это могло произойти из-за попытки закрыть программу или из-за остановки / зависания программы VS во время сборки.
Если все верно, но эта ошибка присутствует, необходимо проверить следующий раздел в файле ****. Vcxproj:
В моем случае это было неверное имя конфигурации: только первое слово.
Попробуйте Build> Clean Solution, затем Build> Build Solution. Это работает для меня.
AppCenter запускает команду «pod install» только в том случае, если он находит Pofile и НЕ находит папку PODS в файлах.
У меня была отмечена папка, но поскольку git автоматически игнорирует файлы .pch (проверьте .gitignore, чтобы проверить это), мой .pch не проверялся.
Я решил проблему, заставив файлы .pch проверять ее, но удаление папки PODS тоже должно работать, поскольку в этом случае Appcenter запустит команду установки модуля.
Надеюсь, это кому-то поможет.
- Щелкните правой кнопкой мыши проект и выберите пункт меню свойств.
- goto C / C ++ -> Предварительно скомпилированные заголовки
- Выберите "Не использовать предварительно скомпилированные заголовки"
Убедитесь, что в вашем проекте есть xxxxx.cpp
Скомпилируйте xxxxx.cpp с флагом / Yc ( Создать предварительно скомпилированный заголовок)
(щелкните правой кнопкой мыши xxxxx.cpp -> свойства -> Предварительно скомпилированные заголовки -> создать )
Скомпилируйте все остальные файлы с флагом / Yu ( Используйте предварительно скомпилированный заголовок)
(щелкните правой кнопкой мыши проект -> свойства -> Предварительно скомпилированные заголовки -> использовать )
Использование предварительно скомпилированного заголовка (pch) - это двухэтапный процесс.
На первом этапе вы компилируете файл-заглушку (в VS200x он обычно называется stdafx.cpp . В более новых версиях используется pch.cpp .). Этот файл-заглушка косвенно включает только те заголовки, которые вы хотите предварительно скомпилировать. Обычно в одном небольшом заголовке (обычно stdafx.h или pch.hpp ) перечислены стандартные заголовки, такие как и , которые затем включаются в файл-заглушку. При компиляции создается файл .pch.
На шаге 2 ваш фактический исходный код включает тот же небольшой заголовок из шага 1, что и первый заголовок. Компилятор, когда он встречает этот специальный заголовок, вместо этого читает соответствующий файл .pch. Это означает, что ему не нужно каждый раз (пере) компилировать эти стандартные заголовки.
В вашем случае кажется, что шаг 1 не выполняется. Файл-заглушка все еще присутствует? В вашем случае это, вероятно, будет xxxxx.cpp . Это должен быть файл, скомпилированный с помощью /Yc:xxxxx.pch , поскольку это флаг компилятора, указывающий, что это шаг 1 процесса PCH. Если присутствует xxxxx.cpp и является таким файлом-заглушкой, то, вероятно, отсутствует его параметр компилятора /Yc: .
VS облажался (у меня 2019; (). Продолжайте и выберите «не использовать предварительно скомпилированные заголовки», как указывают другие ребята, затем откройте файл проекта (vcxproj) с помощью любого текстового редактора и удалите выделенные две записи в двух местах. Наслаждайтесь На самом деле, запись pch.h в файле vcxproj, которую вы видите ниже, вы всегда найдете в интерфейсах свойств VS.
When I build my c++ solution in Visual Studio it complains that the xxxxx.pch file is missing. Is there a setting I am missing to get the pre-compiled headers back?
here is the exact error for completeness:
you have to provide more info. what error exactly are you getting? how is your project currently configured?
13 Answers 13
NOTE: Later versions of the IDE may use "pch" rather than "stdafx" in the default names for related files. It may be necessary to substitute pch for stdafx in the instructions below. I apologize. It's not my fault.
- Right-click on your project in the Solution Explorer.
- Click Properties at the bottom of the drop-down menu.
- At the top left of the Properties Pages, select All Configurations from the drop-down menu.
- Open the C/C++ tree and select Precompiled Headers
- Precompiled Header: Select Use (/Yu)
- Fill in the Precompiled Header File field. Standard is stdafx.h
Lucky 13. Cross your fingers and hit Build.
This is a more basic answer than mine. Step 1-7 are necessary to get PCH working, but the error message from the question indicates those steps have already been done. OTOH, it assumes a single stdafx.pch file, while the xxxxx.pch from the question hints at a more complex problem (multi-PCH setup).
Precompiled Header (pch) use is a two-step process.
In step one, you compile a stub file (In VS200x it's usually called stdafx.cpp . Newer versions use pch.cpp .). This stub file indirectly includes only the headers you want precompiled. Typically, one small header (usually stdafx.h or pch.hpp ) lists standard headers such as and , and this is then included in the stub file. Compiling this creates the .pch file.
In step 2, your actual source code includes the same small header from step 1 as the first header. The compiler, when it encounters this special header, reads the corresponding .pch file instead. That means it doesn't have to (re)compile those standard headers every time.
In your case, it seems step 1 fails. Is the stub file still present? In your case, that would probably be xxxxx.cpp . It must be a file that's compiled with /Yc:xxxxx.pch , since that's the compiler flag to indicate it's step 1 of the PCH process. If xxxxx.cpp is present, and is such a stub file, then it's probably missing its /Yc: compiler option.
Я не знаю, как найти свой includePath. Я не могу давать никаких советов в vscode.
Интересно, является ли vs code правильным направлением, поскольку это кажется сложным?
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно.
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей.
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
У каждого из нас бывали случаи, когда нам нужно отцентрировать блочный элемент, но мы не знаем, как это сделать. Даже если мы реализуем какой-то.
Ответы 16
Для любой IDE невозможно получить Intellisense для динамически типизированного языка.
Я вижу, что модель инициализируется динамически, когда IntelliSense не может угадать правильный тип объекта. Для любого статического типа, такого как C++ или Java, этого не будет, но python динамически типизирован, поэтому IntelliSense не всегда работает так, как ожидалось.
IntelliSense немного нестабилен для python, но он существует - этот вопрос спрашивает о том, как заставить его работать, а это не так, для OP.
Это может быть вызвано множеством причин, некоторые из них следующие.
Путь к исполняемому файлу Python в vscode неверен
- Решение. Настройте путь к исполняемому файлу python в settings.json . Не забудьте перезапустить vscode после.
Модуль расположен в нестандартном месте.
Решение. Настройте settings.json , чтобы включить это расположение для работы автозаполнения. Пример (для Linux), используемый для добавления настраиваемого модуля для рабочей области:
vscode не запускался из активной виртуальной среды
- Решение: Путь к модулям задается при активации виртуальной среды. Запустите vscode с терминала с активированной правильной виртуальной средой
Я обнаружил, что extraPaths может распознавать несколько модулей в одном корневом пути, например "$/libraries" .
ваш ответ в настоящее время недостаточно конкретен, чтобы его можно было предпринять. Например, как мне сделать ваше первое предложение, в котором говорится: «Путь к исполняемому файлу Python в коде VS неверен»?
"python.autoComplete.extraPaths" сделал это за меня!
В моем случае (с использованием venv во внешнем каталоге) уловка для меня заключалась в следующем: 1. Получение пути к python (какой python) 2. Открытие vscode settings.json и установка python.pythonPath на этот путь
Решение с использованием python.autoComplete.extraPaths решило эту проблему для меня при использовании виртуальной среды .venv .
Pablo Alexis Domínguez Grau
№1 решил это за меня. Я использую pyenv, поэтому мне пришлось нажать CTRL + SHIFT + P> Python: выбрать Interpreter> Python 3.8.2 64-bit ('3.8.2': pyenv) и перезапустить VSCode. Если вы, как и я, пользуетесь WSL, вам нужно будет запустить wsl --shutdown из командной строки. Работает как шарм.
У меня была эта проблема некоторое время. Я пробовал много решений из стека, но ни одно не помогло. Удаление все расширения помогли мне.
Прежде всего, если вы установили virtualenv в свой проект, запустите оттуда vscode. Затем в настройках vscode, я имею в виду settings.json, вы можете следить за моей конфигурацией или отслеживать, в каком из них возникла проблема. В большинстве случаев эта проблема возникает из-за неправильного пути в настройке pythonPath
Обновлять:
Если вы хотите иметь хорошо настроенный Vscode, который я лично использую для разработки своих веб-приложений Django и React, вы можете взглянуть на это.
Я просто возился со всеми строками, которые содержали в себе "python" в settings.json, а затем ошибка попросила меня перезагрузить мой vscode, и проблема исчезла! Спасибо :)
Я не понимаю, зачем вам устанавливать вручную, если у меня уже есть питон с путем ко всем моим пакетам?
Потому что, возможно, вы находитесь в виртуальной среде, поэтому путь к исполняемому файлу python отличается от того, который вы действительно хотите использовать.
Обновление: , как отмечено в комментариях, это ошибка. Я сообщил об этом в Microsoft , и он был направлен в команду разработчиков VS для расследования. Я обновлю этот ответ, если и когда появятся н.
В VS2008 вы можете нажать CTRL, чтобы сделать всплывающее окно intellisense частично прозрачным, чтобы вы могли прочитать код под ним. Можно ли где-то настроить степень прозрачности? Например, как .
Я использую VS 2013 и Sitecore 6.5. Я настроил sitecore intellisense для моего кода aspx, и он работает. тогда. когда я запускаю анализ кода, intellisense умирает. Кто-нибудь знает, как сохранить.
Почему IntelliSense не работает при отладке в Visual Studio 2010? Когда я набираю новый код во время отладки, я не получаю никаких намеков на Visual Studio. Почему это так?
Я использую vs2013 для своей игры Unity с подключаемым модулем VS Unity. Intellisense работает отлично, за исключением моих частичных классов. По некоторым причинам, которые я не могу понять, функц.
Всякий раз, когда я
Я использую любопытно повторяющийся шаблон шаблона для создания общего указателя следующим образом (см. Ниже). On Derived :: create (. ) Visual Studio IntelliSense показывает, что доступные аргуме.
Я написал приложение, которое создает XML файл с использованием XmlReader и XmlWriter (с управляемым кодом) в Visual Studio 2010 C++, используя cli. Теперь возникает проблема, что IntelliSense недо.
Есть ли способ включить описание тега xml-тега для свойства? Пример кода: function MyObj() < ///
Возможный дубликат: Что мне делать, чтобы получить javascript intellisense для моей собственной библиотеки js в Visual Studio Есть ли практические рекомендации по созданию intellisense д
Я озадачен. обычные ярлыки работали вчера, когда я уехал на родину. Сегодня я запустил компьютер, открыл проект и перед написанием одной строки кода хотел свернуть к определениям в aspx файле. Это .
Почему Pycharm intellisense медленнее при использовании научных пакетов (Enthought Canopy) и, возможно, других пакетов. Например, для этого снимка экрана: Для отображения функций требуется две-три .
Извините, если это похоже на вопрос noob, но я никогда не использовал визуальную студию. Я пытаюсь использовать PTVS, и, хотя он отлично работает в целом, я не могу заставить Intellisense работать .
В настоящее время я использую Visual Studio 2017 Enterprise, и у меня возникла проблема, на которую я искренне надеюсь, просто потому, что не нашел правильную настройку. В Visual Studio 2017 мне не.
Я использую профессионал Microsoft Visual Studio 2013 на ноутбуке Windows 10, и я вижу ошибку во всех своих бритв. Ошибка говорит, что имя "X" не существует в текущем контексте, например, имя "Html.
Моя проблема В настоящее время я использую Visual Code Studio, последнюю версию. Я пытаюсь заставить intellisense отображаться для методов экземпляра, созданного фабричной функцией. Методы будут пр.
Visual Studio 2015 Intellisense часто, но непоследовательно, вводит префиксы пространства имен в мой код, только чтобы (правильно) сказать мне, что они не нужны и должны быть удалены. Это происходи.
После одного из последних обновлений, я вижу некоторые странные варианты в моем Intellisense. Я использую расширение ES7 React/Redux/GraphQL/React-Native и вижу следующее, когда я ввожу 'rcc': Скри.
Возможный дубликат: Потерял IntelliSense Я создал схему в SQL Server 2008 под названием CustomerTraining в базе данных AdventureWorks. Затем создайте таблицу с именем Customer следующим образом:
У меня есть несколько методов расширения в System.Web.Mvc.HtmlHelper. Все они работают, страницы загружаются просто отлично. Ошибок компиляции и ошибок времени выполнения. Я использую свой собствен.
Сценарий: существует список строковых констант (более 100 теперь будут больше в будущем), которые определены следующим образом: public const string ChildA = "Child A"; public const string ChildASom.
Я создал пользовательские фрагменты в javascript.json : "Node regular import": < "prefix": "creq", "body": ["const $<2:module>= require('$1')"], "description": "Node regular import" >, Он работает.2:module>
Особенностью, которая мне нравится в VS2013, является CSS-класс IntelliSense в файлах CSHTML, однако их новая функция выхода из тега при нажатии SPACE довольно раздражает. Например: Обычно я исполь.
В VS2010 это было возможно, добавив __namespace = true к объекту. В VS2012 это больше не работает. Как я могу восстановить его?
Как настроить версию Community Edition для Visual Studio 2015 для распознавания частей электронного API. Например, электрон имеет электрон.app(), который используется как излучатель события. Как за.
Я создал свои собственные элементы управления в ASP.NET Web Forms. Я создал элементы "PADXDropDown" и "PADXDropDownItem". Мне было интересно, есть ли способ скрыть PADXDropDownItem от beeing в боль.
Поэтому я использую Visual Studio 2013 и работаю с приложением Dojo (в частности, ESRI Javascript API). Я заметил, что когда я начинаю "требовать" модули, специфичные для dojo, я вижу, что intellis.
Intellisense обычно появляется, когда я открываю '(' на вызов функции, показывающий типы данных согласованных параметров, позволяя вам нажимать вверх или вниз, чтобы увидеть все возможности перегру.
Я начал с wpf 4.0. У меня есть textBox, где я должен вводить выражения linq. Поэтому я хочу включить поддержку intellisense в textEditor. Все, что я сейчас делаю, приносит popUp, который имеет спис.
Xml файлы в студии Xamarin не поддерживаются intellisense, похоже, я говорю о файлах макетов (.axml) и обычных.xml файлах. Есть ли способ добавить поддержку этих файлов в intellisense? Я не "челове.
Пример: public class Name < public string FirstName < get; private set; >public string LastName < get; private set; >private Name() < >public Name(string firstName, string lastName) < FirstName .
У меня возникла проблема, когда Visual Studio 2017 Intellisense сообщает об ошибке, но сам код по-прежнему компилируется и работает как ожидается (я думаю). В результате я не уверен, что я делаю эт.
У меня есть метод, который генерирует исключение в пространстве имен: MyApp.Domain. У меня есть некоторые мои пользовательские исключения в пространстве имен: MyApp.Domain.Exceptions. Итак, у меня .
Рубрики
А так же делитесь знаниями, знакомьтесь с новыми утилитами и приложениями, учитесь у всегда готовых помочь ответить на самые сложные вопросы во всех сферах IT и программирования. Станьте гуру и экспертом разработки ПО, получите признание коллег, заработайте репутацию, создайте стартап или приложение которое будет работать на вас!
Так должен ли я возиться с includePath, когда VSCode говорит мне об этом?
Не сначала! Перед изменением пути включения, если вы еще этого не сделали, сначала установите «Путь к компилятору» так, чтобы он указывал на ваш компилятор C / C++, и установите «Режим IntelliSense», чтобы он максимально соответствовал компилятору.
Вам также может потребоваться настроить аргументы компилятора, особенно если компилятор способен генерировать код для нескольких целей, например, как 32-разрядный, так и 64-разрядный код. (Если вы не знаете, что это значит, сначала пропустите это.)
Затем в палитре команд запустите «C / C++: журнал диагностики». Выходные данные покажут вам, какой компилятор обнаружил VSCode и что он обнаружил как его встроенный путь включения и определяет препроцессор.
Затем запустите эти команды в оболочке:
Здесь я предположил, что вы используете gcc в качестве компилятора. Если нет, замените фактическое имя команды компилятора. Если ваш компилятор не является вариантом GCC (например, вы используете компилятор Microsoft cl.exe ), вам нужно будет посмотреть его документацию или Google, чтобы найти переключатели, которые печатают предопределенные макросы и включают пути (например, см. здесь для cl.exe ).
Сравните вывод вышеуказанной команды с тем, что VSCode показывает в выводе диагностики C / C++. Надеюсь, они очень похожи. Если нет, попробуйте настроить путь компилятора, режим IntelliSense или аргументы компилятора. Как только вы подобрали их как можно ближе, отрегулировав только эти три параметра, переходите к следующему шагу.
Что такое includePath?
includePath - это атрибут в c_cpp_settings.json , который находится в папке .vscode основной папки, которую вы открыли в VSCode с помощью File → Open Folder.
Вы можете редактировать c_cpp_settings.json напрямую, но обычно проще использовать «Графический интерфейс конфигураций C / C++». Для этого откройте палитру команд (Ctrl + Shift + P) и запустите «C / C++: Edit Configurations (UI)». Затем найдите параметр «Включить путь».
Ответы 3
Это связано с тем, что в расширении отсутствует какой-либо includepath при инициализации
добавьте недостающие строки в ваш c_cpp_properties.json
Также добавьте "defines": [ "USBCON" ] в "конфигурации", чтобы последовательный класс работал с intellisense.
Для меня это было решение, которого мне не хватало . папка hardware / tools / ** на моем пути. Ваше здоровье!
Хотя в вопросе упоминается Arduino, следующие предложения применимы практически каждый раз, когда VSCode говорит вам «обновить includePath».
Теперь при необходимости отрегулируйте includePath.
Если все еще есть существенные различия между встроенной конфигурацией компилятора и тем, что обнаруживает VSCode, исправьте это (в пользовательском интерфейсе настроек C / C++), изменив стандартные поля Include path, Defines и C / C++. Повторно запустите команду C / C++ Log Diagnostics, чтобы увидеть результаты.
Наконец, если в вашем проекте есть файлы заголовков в местах, которые компилятор не выполняет поиск по умолчанию, то есть вам обычно нужно передать переключатели -I в командной строке компилятора, добавьте их также в путь включения. То же самое касается любых аргументов -D , которые должны быть добавлены в Defines.
В чем, кажется, проблема?
Похоже, вы используете Python 3.7. Не могли бы вы это подтвердить? Эта версия еще не поддерживается этим расширением.
Я использую Python 3.6.
Ну для меня большую часть времени работает нормально. Но по мере того, как мой файл становится больше (примерно 500+ строк), он становится очень медленным, иногда для отображения предложений может потребоваться больше минуты. Поэтому я стараюсь, чтобы мои взгляды и модели были небольшими, но это не всегда возможно :(
Привет, Донован, ты когда-нибудь находил решение своей проблемы? Не могли бы вы поделиться этим?
Не могли бы вы уточнить свой вопрос? Есть ли у вас проблемы с вашими собственными пакетами или кем-то еще, например, pytorch tensorflow numpy и т. д.?
В этой статье мы расскажем о хитростях и советах по Python, которые должны быть известны разработчику Python.
В одном из недавних постов я рассказал о том, как я использую навыки количественных исследований, которые я совершенствую в рамках программы TPQ.
Вы когда-нибудь хотели поделиться с кем-то файлом, но он содержал конфиденциальную информацию? Многие думают, что электронная почта безопасна, но это.
Недавно я столкнулся с интересной бизнес-задачей - визуализацией сбоев в цепочке поставок лекарств, которую могут просматривать врачи и.
Читайте также: