Ошибка командной строки D8049
не удается выполнить "компилятор-компонент": командная строка слишком длинна для размещения в записи отладки
Превышено ограничение внутренней длины для записи отладки.
Замечания
Когда компилятор создает записи отладки в файле объекта, он использует полный путь для каждого включенного файла. Абсолютные пути записываются как указанные. Для относительных путей включения запись отладки добавляет текущий рабочий каталог сборки в относительный путь. Если сборка выполняется в относительно глубоком пути, соответствующие записи пути будут длиннее. Общая длина слишком много длинных путей может превышать внутренние ограничения компилятора.
Действия по устранению проблемы:
Используйте более короткие пути для каталогов включения и сборки. Установите библиотеку, включающую заголовки в каталоги с более короткими путями, и используйте короткие пути к промежуточным и целевым каталогам сборки проектов. Если вы используете пути псевдонима, используйте короткие псевдонимы. Задайте и
%TEMP%
укажите%TMP%
каталоги с более короткими путями.Оптимизируйте файлы включения до минимального набора, необходимого для любого исходного файла. Этот метод также имеет преимущество ускорения компиляции времени. Если вы используете предварительно скомпилированные заголовки, важно оптимизировать набор заголовков, которые вы включаете в предварительно скомпилированные заголовки. В сложных решениях может потребоваться создать различные предварительно скомпилированные заголовки, оптимизированные для различных частей проекта. Если в коде используется C++20, рекомендуется использовать модули или модули заголовков в предпочтениях предварительно скомпилированных заголовков.