Подтвердить что ты не робот

Visual Studio 2010 не автонастраивает статические библиотеки из проектов, которые являются зависимостями, поскольку это должно

  • Создайте новое решение с помощью проекта командной строки консоли С++
  • Создайте новый проект, статическую библиотеку С++
  • Сделать проект командной строки зависимым от библиотеки
  • Убедитесь, что "Зависимости библиотеки ссылок" включены в Configuration = > Linker = > General (по умолчанию)
  • Visual Studio по-прежнему не свяжет библиотеку.

Как я могу это исправить? Он работал в Visual Studio 2008.

4b9b3361

Ответ 1

Это все еще работает, но было изменено в VS 2010:

"С VS2010 мы перестали поддерживать зависимости проектов, определяя неявные ссылки, а также вводили новый способ определения зависимостей проекта на уровне проекта. Поскольку ссылка на проект и зависимость от проекта являются близкими концепциями, как применимыми к проекту, так и имели смысл объединить их в последовательном виде в файле проекта. Как видно из нижеприведенных фрагментов, единственное различие между определением ссылки проекта и определением зависимости проекта состоит из метаданных, которые определяют включение/исключение в/из командной строки основного проекта. Хотя мы не удалили диалоговое окно" Зависимости проектов ", мы рекомендуем определять новые зависимости проекта через диалог" Структура и ссылки ". Вам необходимо установить для свойства" Output Assembly Assembly Output" в пользовательском интерфейсе страницы свойств значение false для зависимости проекта и значение true для ссылки на проект.

Просто щелкните правой кнопкой мыши по проекту консоли, выберите "Свойства- > Общие свойства- > Структура и ссылки- > Добавить новую ссылку" и добавьте проект статической библиотеки; также проверьте, что "Зависимости библиотеки ссылок" имеет значение True с правой стороны. Кажется, работает для отладки и выпуска. Ты узнаешь что-то новое каждый день.;)

Ответ 2

Они изменили интерфейс для добавления зависимостей проекта С++ в VS2010, но, как ни странно, без удаления старого пользовательского интерфейса или каким-либо образом указали, что он больше не работает.

Чтобы создать зависимость в VS2010, вам нужно использовать "Добавить новую ссылку" (можно найти в свойствах проекта) и, возможно, также в меню контекстного меню проекта (не нужно проверять здесь VS)

Старый диалог "Зависимости проектов" в основном нарушен.

Ответ 3

Я считаю, что старый пользовательский интерфейс (зависимости) влияет на порядок сборки для Visual Studio при построении внутри IDE для получения информации. Новая система конфигурации проекта включает ссылки в каждый файл проекта, чтобы вы могли создавать извне среды IDE (тогда как в предыдущих версиях вы не могли, поскольку вы не получили бы автоматическую привязку для зависимостей, поскольку зависимости выполнялись только на уровне решения).

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

Ответ 4

Для версии MSVC 14 (версия 2015) щелкните правой кнопкой мыши проект, затем "Add->Reference..." и проверьте все необходимые зависимости.

Да, он изменился где-то между версиями 2010 и 2015 годов. Fun!

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