Я создаю проект с помощью Visual Studio. Проект зависит от файла библиотеки, созданного другим проектом. Этот проект является родительским каталогом фактического проекта, который я создаю.
Чтобы быть более ясным, У меня есть «ParentDir», в котором есть два подкаталога Project1 и Project2. Теперь Project1 зависит от библиотеки, созданной Project2.
В свойствах Project1 я пытаюсь указать относительный путь, используя $ (SolutionDir) /../ ParentDir / Project2 / Debug Но это, похоже, не работает.
Можете ли вы сказать мне, в чем я ошибаюсь, или предложить правильный способ достижения этой цели.





Добавьте зависимый проект в свое решение и установите его как зависимость другого проекта, используя свойства проекта. Тогда это просто волшебным образом работает;).
Решение - это просто файл, который описывает набор связанных (взаимосвязанных) проектов и отношения между ними, так что это правильный способ сделать это.
Ваш текущий каталог - это ваш $ (ProjectDir), это то место, где находится файл .vcproj.
Так что просто напишите ../Project2/Debug, этого достаточно.
Еще лучше напишите ../Project2/$(ConfigurationName) для всех конфигураций
таким образом, вы всегда будете ссылаться на правильную версию этой библиотеки.
Я думаю, что Visual Studio не расширяет относительный путь должным образом, когда ".." помещается где-то в середине строки пути. Он умеет только расширять .. {sub-path}.
Вот статья, в которой объясняется, как создавать зависимости. msdn.microsoft.com/en-us/library/et61xzb3%28v=vs.100%29.aspx