не могли бы вы помочь мне, отвечая на мой следующий вопрос о Visual Studio, включая поведение?Как справиться с фигурной скобкой включают директивы в Visual Studio?
Я создаю новый проект C++, который ссылается на уже существующий, исходные файлы которого не должны быть изменены. Я в конечном итоге с помощью следующего файла структуры:
-MyProject
+---MyProject.sln
+---MyProject.vcxproj
+---MyProject.cpp
+---CommonHeader.h
-ExistingProject
+---project
+---+---ExistingProject.vcxproj
+---source
+---+---ExistingProject1.h
+---+---ExistingProject2.h
+---+---ExistingProject1.c
+---+---ExistingProject2.c
В начале, я даже не мог скомпилировать ExistingProject. В ExistingProject1.c следующее утверждение включают существует:
#include <ExistingProject1.h>
От here я узнал, что в случае кронштейна-включает в себя, Visual Studio не ищет заголовок в том же каталоге, что и файл, который содержит заявление включения. Поэтому мой первый вопрос будет:
1) Верно ли, что я должен добавить»../source/"-Directory к Include Directories в ExistingProject.vcxproj, хотя файлы заголовков уже добавлен в проект Visual Studio?
Чтобы использовать структуры и функции ExistingProject, я должен включить ExistingProject2.h в свой MyProject.cpp. Но в рамках ExistingProject2.h это относится и к заявлению
#include <ExistingProject1.h>
есть. Это приводит ко второму вопросу:
?2) Верно ли, что я должен добавить»../ExistingProject/source/-Directory к Include Directories проекта MyProject.vcxproj а
И теперь приходит действительно странная проблема. Если какой-либо определить установлен, который должен быть установлен в пределах MyProject, то ExistingProject2.h также включает в себя внешний файл заголовка через
#include <CommonHeader.h>
, который должен быть определен зависимый проект. Это приводит к моим последним вопросам :
3) Правда ли, что у меня есть только следующие два параметра для компиляции с этим внешним файлом заголовка?
- Мне нужно скопировать мой CommonHeader.h в «ExistingProject \ source \» - Directory во время проверки.
- Мне нужно добавить «.» - Directory в Include Directories проекта MyProject.vcxproj, и мне нужно добавить «../../MyProject/"-Directory к каталоги IncludeProject.vcxproj.
Второй вариант просто не имеет смысла. Является ли первый, действительно, моим единственным вариантом, связанным с этой формой-скобкой, является внешний файл заголовка?
И: Не должно быть, по крайней мере, место, рядом с файлом vcxproj, находиться внутри каталогов include файла заголовка, который используется в этом проекте?
Извините за глупое правописание.Я очень плохо объясняю. Желаю вам приятного уик-энда.
Большое спасибо за ваш ответ. – Allgaeuer