сборка статической библиотеки (.lib) VS 2010 Pro - PullRequest
1 голос
/ 27 июля 2011

У меня есть вопрос новичка о создании статической библиотеки в VS 2010 Pro.

Когда вы выбираете создание статической библиотеки (.lib) вместо приложения, опция Linker в свойствах проекта исчезает. Обычно я захожу в Linker-> Input-> Additional Dependencies, чтобы добавить необходимые .lib файлы для проекта.

Я собрал библиотеку и добавил ее в свой основной проект приложения под Linker-> Input-> Additional Dependencies. Теперь, когда я собираюсь построить свое основное приложение (с указанной выше статической библиотекой, включенной в файлы .lib проекта), я получаю ошибку компоновщика о методе, используемом в библиотеке.

Где мне добавить необходимые .lib файлы при сборке статической библиотеки?

Ответы [ 3 ]

1 голос
/ 27 июля 2011

Статическая библиотека связана с вашим исполняемым файлом.Любые зависимости, которые есть у вашей статической библиотеки (требуются внешние библиотеки), должны * также указываться в вашем исполняемом файле.

Итак, если libA требует libB, то приложение, которое связывается сlibA также нужно будет связать с libB.

0 голосов
/ 27 июля 2011

Если библиотека A всегда зависит от библиотеки B, то вы можете заставить это произойти в одном из исходных файлов в библиотеке A. Например:

#pragma comment(lib, "wininet.lib")
0 голосов
/ 27 июля 2011

Самый простой способ - добавить зависимый .lib в основное приложение на странице компоновщика.

...