У чому різниця між "Включити каталоги" та "Додаткові каталоги включити"


94

У властивостях конфігурації мого проекту в розділі "Каталоги VC ++" є запис "Включити каталоги". Але під опцією "C / C ++" є інший запис, який називається "Додаткові каталоги включення". Те саме відбувається з бібліотечними каталогами.

Яка різниця між цими двома записами?

введіть тут опис зображення введіть тут опис зображення

Відповіді:


48

Це незграбність, яка була представлена ​​у VS2010. Налаштування каталогів VC ++ раніше знаходилися в Інструменти + Параметри, Проекти та рішення, Каталоги VC ++. Загальні налаштування, що застосовуються до кожного проекту, побудованого на машині. Він все ще є, але зазначає, що тепер вам слід змінити його в налаштуваннях проекту. Побічним ефектом капітального ремонту двигуна збірки у VS2010, що дозволяє будувати за допомогою msbuild. Видалення налаштувань для кожного проекту було б логічним, але це зламало б занадто багато існуючих проектів.

Таким чином, найкраще розглядати налаштування каталогів VC ++ як за замовчуванням машини. Він автоматично задається програмою встановлення VS. Поводьтеся з ним, лише якщо вам потрібен незвичний порядок пошуку в каталозі, ставлячи користувацькі місця в останню чергу. Дуже незвично це робити.

Однак це працює. І це врешті скористалося. Розширення можливостей набору інструментів платформи у VS2012 та новіших версіях. Різний компілятор, різний компонувальник, різні #include каталоги, різний шлях пошуку компонувальника. Змінено лише за допомогою одного налаштування, приємно.


3
Хм ... Це є правда , що варіанти створення глобальної зберігаються в цьому - але це властивість листа Microsoft.Cpp.Win32.userі тільки в цьому. Якщо ви редагуєте запис "Каталоги VC ++", коли проект активний або інший аркуш властивостей, тоді зміни зберігатимуться у .vcxprojфайлі або у відповідному .propsфайлі і взагалі не будуть загальносвітовими та загальнокористувацькими.
Мартін Ба

25

Включають Каталоги відповідає змінної оточення INCLUDE.

Параметри каталогу, що відображаються у вікні, - це каталоги, які Visual Studio буде шукати, включаючи файли, згадані у файлах вихідного коду. Відповідає змінній середовища INCLUDE.

Тоді як Додаткові каталоги включення передаються через аргумент командного рядка (тобто \Iопція).


19

КОНФІГУРАЦІЯ Включає шляхи

Каталоги VC ++: включають каталоги

  • це значення успадковується від змінної середовища INCLUDE Windows, яка визначена поза Visual Studio
    • Змінні середовища можуть бути: глобальними для комп’ютера або мати область користувача
    • INCLUDEІ LIBзмінні середовища створюються , коли Microsoft Windows SDK встановлюється з Visual Studio .

C / C ++: Додаткові Включити каталоги

  • - це налаштування рівня проекту ... вам доведеться визначити це значення для кожного проекту у своєму рішенні
  • це значення можна зберегти для керування джерелом

ДОДАТКОВІ НОТАТКИ

Який я повинен використовувати?

Рішення використовувати каталоги Включити або Додаткові каталоги Включити буде залежати від процесу розробки вашої організації. На мою думку, це важливіше:

  • що ви здатні послідовно і надійно відтворювати середовище розробки (подумайте: передача вихідного коду іншому розробнику)
  • для розробників в організації використовують послідовний підхід

Примітка про макроси

  • Макроси конфігурації проекту C ++ (не плутати з #defineдирективою попереднього процесора C ++ ) успадковують вміст з різних джерел. Макроси як ...
    • $(Include)успадковувати їх значення від змінних середовища Windows
    • $(OutDir)успадковувати їх значення від Visual Studio IDE

ЛІТЕРАТУРА

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.