2008-09-25 6 views
9

Я создаю проект с использованием Visual Studio. Проект имеет зависимость от файла lib, сгенерированного другим проектом. В этом проекте есть родительский каталог фактического проекта, который я создаю.В Visual Studio, как указать относительный путь .lib-файла в свойствах проекта

Чтобы быть более понятным, У меня есть «ParentDir», в котором есть два подкаталога Project1 и Project2 под ним. Теперь Project1 зависит от lib, сгенерированного Project2.

В свойствах Проект1, я пытаюсь дать относительный путь, используя $ (SolutionDir) /../ ParentDir/Проект2/Debug Но это не похоже на работу.

Можете ли вы сказать мне, где я ошибаюсь, или предложить правильный способ достижения этого.

ответ

7

Добавьте зависимый проект в свое решение и установите его как зависимость от другого проекта с использованием свойств проекта. Тогда это просто волшебным образом работает;).

Решение - это просто файл, который описывает набор связанных (взаимосвязанных) проектов и взаимосвязь между ними, поэтому это правильный способ сделать это.

+0

Вот статья, в которой объясняется, как создавать зависимости. http://msdn.microsoft.com/en-us/library/et61xzb3%28v=vs.100%29.aspx – jvangeld 2012-08-06 17:23:22

3

Ваш текущий каталог - ваш $ (ProjectDir), то есть файл .vcproj.

Итак, просто напишите ../Project2/Debug, это будет делать.

Даже лучше, писать ../Project2/$(ConfigurationName) для всех конфигураций

, таким образом, вы будете всегда связывающихся с правильной версией этого Lib.

1

Я думаю, что Visual Studio не расширяет относительный путь должным образом, когда «..» помещен где-то посередине строки пути. Он знает, как расширять .. {sub-path}.