У меня есть проект DLL Visual Studio 2019, и я хочу статически связать с ним библиотеку. Когда я использую символы из статической библиотеки в dll, она строится правильно. Однако, когда я связываю свой проект динамической библиотеки с исполняемым приложением, приложение выдает неразрешенную ошибку внешнего символа. Должен ли я также связывать статическую библиотеку с приложением?
Связать статическую библиотеку с динамической библиотекой
comment
Отвечает ли это на ваш вопрос? Статическое связывание DLL в Windows
- person Pat. ANDRIA   schedule 23.04.2021
Ответы (1)
DLL
— это двоичный файл, похожий на файл EXE
, поэтому, когда вы связываете его со своей статической библиотекой, все зависимости должны быть удовлетворены. Файл EXE
, связанный с этой динамической библиотекой, не знает о своих внутренних компонентах, таких как символы какой-либо статической библиотеки, и, следовательно, не должно быть никаких неразрешенных символов из-за статической библиотеки.
Единственный способ получить это — связать EXE
со статической библиотекой и использовать некоторые символы из нее, но это не зависит от DLL
.
Так что нет, если вы не используете что-то из статической библиотеки в своем файле EXE
, вам не нужно связываться с этим.
person
Devolus
schedule
23.04.2021