Зависимости MSVC против ссылок - PullRequest
10 голосов
/ 23 февраля 2010

Я всегда использовал опцию Зависимости Visual Studio, чтобы гарантировать, что, например, при создании моих проектов C ++ также создаются любые зависимые проекты LIB или DLL. Тем не менее, я продолжаю слышать, как люди упоминают «ссылки», и удивляюсь, что на пороге VS 2010 года я должен изменить свое поведение.

Есть ли какие-либо преимущества в использовании ссылок на зависимости или это только функция .NET? В настоящее время я использую VS2008.

Ответы [ 3 ]

16 голосов
/ 23 февраля 2010

Я предпочитаю использовать ссылки, поскольку они были введены для неуправляемого C ++ в VS 2005. Разница (с точки зрения неуправляемого разработчика C ++) заключается в том, что ссылка хранится в файле .vcproj , а зависимости проекта хранятся в .sln file.

Это различие означает, что когда вы повторно используете свой проект в различных решениях (а я часто это делаю), вам не нужно заново определять межпроектные отношения.

Visual Studio достаточно умен, чтобы не зависеть серьезно от путей проектов, когда он устанавливает ссылочные отношения.

1 голос
/ 03 марта 2010

Раньше в VS2008 зависимость проекта от статической библиотеки автоматически приводила к правильной конфигурации (Debug | Release). Похоже, что VS2010 утратил эту способность при переходе на msbuild. Вздох.

1 голос
/ 23 февраля 2010

«Ссылки» - это вещь .NET и не применима к нативному C ++;они отличаются от зависимых проектов.Зависимый проект в решении - это проект, который должен быть построен до (или после, в зависимости от того, каким образом идет зависимость) другого проекта.

Ссылка - это сборка, содержащая типы, используемые в проекте.Аналогичной вещью в собственном проекте C ++ могут быть включаемые файлы, используемые проектом, и связанные с ним файлы .lib (собственный проект C ++ «потребляет» эти элементы, даже если они не встроены в другой шаг решения).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...