Как узнать, какие включенные файлы не являются частью текущего решения VC ++ - PullRequest
3 голосов
/ 30 мая 2011

Помимо прочего, я бы предположил, что решение Visual C ++ предназначено для охвата всех файлов исходного кода для данного продукта. Однако благодаря «Дополнительным каталогам включения» и встроенной возможности C ++ включать абсолютные и относительные пути - можно включать файлы, которые не являются частью решения (начиная со стандартных заголовков C ++).

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

См. Этот пример:

  1. C: /Dev/Projects/Project-A/Project-A.vcproj
  2. C: /Dev/Projects/Project-A/Project-B.vcproj
  3. C: /Dev/Projects/Project-A/Project-C.vcproj
  4. C: /Dev/Projects/Project-A/Project-D.vcproj

Если я создаю решение, которое содержит только Project-A и Project-B , ничто не мешает Project-A включать файлы из под Project-C и Project-D . Это означает, что, например, если я захочу распространить это решение, я могу пропустить Project-C и Project-D.

Можем ли мы заставить VC ++ выдавать предупреждение о файлах исходного кода, которые явно не являются частью решения - конечно, за исключением стандартных заголовков C ++? Или хотя бы предоставить полный список файлов, которые в конечном итоге будут включены в конечную библиотеку / исполняемый файл?

Заранее спасибо!

Ответы [ 2 ]

2 голосов
/ 30 мая 2011

Вы можете отобразить все включенные файлы с помощью переключателя /showIncludes.

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

1 голос
/ 30 мая 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...