Различные места, которые препроцессор ищет для включаемых файлов, описаны в разделе «Примечания» здесь .
Обычно для таких "SDK", как Qt, люди меняют свои Каталоги VC ++, Проекты, Опции в разделе Инструменты | Варианты | "Проекты и решения" | «Каталоги VC ++», чтобы списки включаемых файлов и файлов библиотек включали подходящие каталоги Qt. Таким образом, когда препроцессор ищет включаемые файлы Qt, он будет искать нужные места, а когда компоновщик ищет файлы .LIB, он также найдет их.
Недостатком изменения этих списков является то, что они применяются ко всем проектам, созданным из этой версии Visual Studio. Это может быть боль в шее, если у вас есть разные проекты, которые используют разные версии SDK. В подобных ситуациях одним из решений является создание переменных среды с именами INCLUDE и LIBPATH, а затем запуск devenv с ключом / useenv для переопределения настроек VC ++ Directories из Tools | Параметры.
Наконец, третий вариант заключается в предоставлении дополнительных папок include и library через свойства проекта. В проекте | Свойства | C ++ | Общее первое свойство - «Дополнительные каталоги включения». Размещенные там значения передаются препроцессору через переключатель / I . Аналогично Проект | Свойства | Линкер | На вкладке «Общие» имеется свойство «Дополнительные каталоги библиотек», которое передается компоновщику через переключатель / LIBPATH .
Этот третий вариант кажется привлекательным, поскольку позволяет устанавливать эти дополнительные каталоги для каждого проекта отдельно. Недостатком является то, что он «жестко кодирует» некоторые имена каталогов в проекте. Это может быть настоящей болью, если вы перенесете проект на новый компьютер, где файлы Qt находятся в другом каталоге, или когда вам придется переместить каталоги Qt на другой жесткий диск и т. Д.