Заголовочные файлы Проекта Visual Studio MS

Я довольно плохо знаком с разработкой кода C/C++ в MSVS, но одна из вещей, которая уже смутила меня, - то, почему, после добавляющего ряда исходных и заголовочных файлов к моему проекту, таким образом, что они разоблачают соответственно под папками MSVS 'Исходные файлы' и 'Заголовочные файлы', сделайте я впоследствии должен сказать компилятор, где мои заголовочные файлы находятся под 'Проектом-> свойства-> C/C++> Общий'. Мне кажется, что MSVS должен уже попытаться разрешить, что любой 'включает "..."' операторы первым просмотром набора заголовочных файлов, которые я включал в проект.

Кто-либо хочет прокомментировать логику, используемую здесь?

Спасибо, Travis

6
задан Benoît 5 February 2010 в 16:15
поделиться

6 ответов

На самом деле, добавлять файлы заголовков в так называемую папку «Файлы заголовков» необязательно. Даже не делая того же, вы можете просто указать путь к заголовку в «Проект-> Свойства -> ....», и он все равно будет работать.

Возможно, вы думаете с точки зрения только файлов заголовков вашего проекта, которые можно добавить в папку «Файлы заголовков», а как насчет большого проекта, имеющего несколько сторонних библиотек, вы определенно не можете продолжать добавлять каждый файл заголовка в вашу папку.

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

Все вышесказанное - мое понимание. У меня нет никаких доказательств, подтверждающих это. Итак, приношу свои извинения заранее, это неправильно. Пожалуйста, не засыпайте меня голосами против. :)

2
ответ дан 9 December 2019 в 22:34
поделиться

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

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

Это оставляет вам единственное использование файлов заголовков в вашем проекте Visual Studio: возможность легко открывать их из Visual Studio. Это оно !

2
ответ дан 9 December 2019 в 22:34
поделиться

Файлы проекта используются IDE для отслеживания ваших файлов, но компилятор не имеет доступа к этой информации. Путь к включаемому файлу передается каждому исходному файлу при его компиляции.

3
ответ дан 9 December 2019 в 22:34
поделиться

Я никогда не сталкивался с этой проблемой. Как только вы создали проект и добавили в свой проект тот же файл заголовка папки проекта в среде IDE, вы можете добавить файл заголовка с помощью #include и скомпилировать исходный код. если желаемый файл заголовка не существует в той же папке, в которой вы создаете свой проект, вы должны добавить каталог заголовка в свойствах проекта, как вы сказали:)

0
ответ дан 9 December 2019 в 22:34
поделиться

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

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

3
ответ дан 9 December 2019 в 22:34
поделиться

Прежде всего, вы создали новый проект C / C ++? Если это так, он должен создать каталог в любом месте по вашему выбору. Как только это будет сделано, вы можете щелкнуть правой кнопкой мыши свой проект (в окне решения в MSVS) и добавить новый файл в свой проект. Например, вы можете добавить в проект исходный файл (.cpp) и файл заголовка (.h). Как только это будет сделано, вы должны написать #include «yourfile.h» в исходном файле, чтобы иметь возможность включить файл заголовка в исходный файл. Обратите внимание, что вы можете добавлять новые файлы и существующие файлы. Надеюсь, это поможет!

1
ответ дан 9 December 2019 в 22:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: