Помимо прочего, я бы предположил, что решение Visual C ++ предназначено для охвата всех файлов исходного кода для данного продукта. Однако благодаря «Дополнительным каталогам включения» и встроенной возможности C ++ включать абсолютные и относительные пути - можно включать файлы, которые не являются частью решения (начиная со стандартных заголовков C ++).
Это может произойти как по ошибке, так и умышленно. Однако, чтобы держать под контролем зависимости и получить хороший обзор того, какие файлы являются исходным кодом продукта, а какие - встроенными в файлы Visual Studio, было бы замечательно, если бы был способ определить, какие включения не являются частью текущее решение.
См. Этот пример:
- C: /Dev/Projects/Project-A/Project-A.vcproj
- C: /Dev/Projects/Project-A/Project-B.vcproj
- C: /Dev/Projects/Project-A/Project-C.vcproj
- C: /Dev/Projects/Project-A/Project-D.vcproj
Если я создаю решение, которое содержит только Project-A и Project-B , ничто не мешает Project-A включать файлы из под Project-C и Project-D . Это означает, что, например, если я захочу распространить это решение, я могу пропустить Project-C и Project-D.
Можем ли мы заставить VC ++ выдавать предупреждение о файлах исходного кода, которые явно не являются частью решения - конечно, за исключением стандартных заголовков C ++? Или хотя бы предоставить полный список файлов, которые в конечном итоге будут включены в конечную библиотеку / исполняемый файл?
Заранее спасибо!