Должен ли stdafx находиться в одном каталоге?

0

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

  • 0
    Не работая с VS некоторое время, я думаю, что заголовочный файл stdafx.h должен находиться в том же файле, что и исходный файл stdafx.cpp . Я не помню, сколько из этих путей вы можете изменить, но вы должны иметь возможность изменить некоторые из них в настройках проекта.
  • 0
    Я #include "../stdafx.h" использовал #include "../stdafx.h" в качестве единственной строки во вложенных файлах stdafx.h.
Теги:
visual-c++

2 ответа

1
Лучший ответ

Нет, это неправильно работает. Ваши собственные файлы заголовков НИКОГДА не должны ссылаться на "stdafx.h". Вместо этого они могут с уверенностью предположить, что они уже включены.

Если у вас есть несколько проектов в вашем решении, каждый в своем собственном каталоге, то каждый проект может содержать отдельный stdafx.h без проблем.

  • 0
    Что делать, если у вас есть переменные, которые содержат тип из stdafx?
  • 0
    Например, D3DXVECTOR3 или ID3D10ShaderResourceView
Показать ещё 2 комментария
0

Не уверен, что это отвечает на ваш вопрос, но вы можете щелкнуть правой кнопкой мыши по stdafx.cpp в проводнике решений, а затем выбрать Precompiled Headers. В строке Precompiled header file вы можете ввести полный путь к stdafx.h.

Или откройте файл проекта и после

<ClCompile Include="stdafx.cpp">
  <PrecompiledHeader>Create</PrecompiledHeader>

вставить

  <PrecompiledHeaderFile>otherDirectory\stdafx.h</PrecompiledHeaderFile>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню