С помощью VS Solution, как я могу настроить группу исходных файлов, используя соответствующие настройки и особые настройки для файлов, которые требуют особой обработки?

Вопрос заключается в том, как настроить группу исходных файлов, используя соответствующие параметры и конкретные параметры для файлов, требующих специальной обработки?

Мой вопрос возник из-за проблемы со сборкой, которую я сейчас выяснил

1 ответ

Ниже приводится примерная схема работы системы проекта.

Пожалуйста, исправьте любые заблуждения.

1. Есть три типа настроек

  • i) Настройки страницы свойств (они могут быть унаследованы)
  • ii) Настройки проекта
  • iii) Настройки файла

    Настройки проекта влияют на все исходные файлы, которые не имеют настройки файла

    Настройки проекта зависят от конфигурации

    При проверке параметров файла (выбран файловый узел, а не узел проекта) элементы, выделенные жирным шрифтом, задаются на уровне файла
    Если параметр не выделен жирным шрифтом, то это параметр файла

    В настройках проекта (выбран узел проекта) любые элементы, выделенные полужирным шрифтом, являются настройками проекта, любые элементы, выделенные как полужирные, наследуются из таблицы свойств.

2. Любой файл, который не имеет настройки уровня файла, использует настройки проекта

3. Чтобы установить настройки проекта, обязательно нажмите на узел проекта

4. Чтобы установить настройки файла, нажмите на файл, который вы хотите изменить настройки

5. Если тип инструмента, который нужно изменить, не отображается как доступный в настройках проекта, кратко выберите файл, для которого этот инструмент является действительным, и затем повторно щелкните узел проекта

Хорошим примером этого является случай, когда вы хотите использовать предварительно скомпилированные заголовки. В этом случае большинство файлов должны использовать предварительно скомпилированный заголовок, поэтому вы должны установить Use \Yu под C/C++-> предварительно скомпилированные заголовки: предварительно скомпилированный заголовок

Тогда под stdafx.cpp Вы бы сделали настройку уровня файла (нажав на stdafx.cpp) и выберите Create \Yc под C/C++-> предварительно скомпилированные заголовки: предварительно скомпилированный заголовок

Ваш проект может также содержать файлы.C, которые были сгенерированы Midl, поэтому для тех файлов, которые вы бы выбрали на уровне файлов, выберите Not Using Precompiled Headers под C/C++-> предварительно скомпилированные заголовки: предварительно скомпилированный заголовок

Я сейчас пытаюсь добраться до корня причины MSBuild Ошибка MSB8028 в одном из моих проектов.

However the test project I created to research the problem does not seem to be obeying the rules I set out above. Each of the .cpp files in the project are ignoring the project setting for Precompiled Headers, but they are showing as non-bold

Вышеприведенное утверждение неверно, но оно привело меня к золотому правилу!

Убедитесь, что "Конфигурация" содержит слово "Активный"

Конечно, вы можете игнорировать это правило, но обязательно имейте это в виду, чтобы избежать вероятности того, что вы не создали параметр в неправильной конфигурации, что объяснит, почему поведение, которое вы ожидали, на самом деле не то, что вы получаете

Другие вопросы по тегам