не включенный файл, на который ссылаются во время компиляции C ++ - PullRequest
1 голос
/ 19 июня 2020

В настоящее время у меня есть файл .vcxproj, и я хочу изменить некоторые из включенных файлов / каталогов, остальные остались прежними. У меня есть идентичный набор файлов в другом каталоге, и я хочу, чтобы мой проект включал НЕКОТОРЫЕ файлы в новый идентичный каталог, а не в текущий каталог. Каталоги включаются по относительным путям:

  //A/proj/project.vcxproj

  //A/B/file1.h
  //A/B/file2.h
  //A/C/file3.h

  //B/B/file1.h
  //B/B/file2.h
  //B/C/file3.h

В настоящее время project.vcxproj включает file1.h file2.h file3.h в // A, теперь я хочу, чтобы project.vcxproj включал file1.h и file2. h под // B, но оставьте file3.h под //A.

Я открыл файл .vcxproj и вручную изменил относительные пути: "<AdditionalIncludeDirectories>../B; --> ../../B/B;"

Однако, когда я компилирую, все файлы обрабатываются правильно, за исключением одного файла в // B / C /, на который ссылаются, а именно file3.h, который вызвал проблему, потому что он не был завершен. Когда я физически удалил несвязанный каталог // B / C / на моем диске, он снова вёл себя нормально.

Я не понимаю, как возможно, что file3.h в // B / C / получает ссылку , и будучи «приоритетным», даже не включенным, и как удаление каталога просто решило проблему. Я даже не видел file3.h в окне проекта. Может ли кто-нибудь объяснить, что мне не хватает? Спасибо!

...