Я использую VCPKG для создания сторонних библиотек, например, libcurl. У меня есть динамические и статические сборки. Очевидно, что импортные .lib и объектные .lib файлы содержатся в двух разных папках, x64-windows и x64-windows-static соответственно. Я хочу статически связать объект libcurl.lib с моей программой, но не могу понять, как настроить Visual Studio для этого. Это всегда заканчивается использованием lib lib, а не object lib, и поэтому моя программа в конечном итоге требует libcurl.dll при исполнении.
Я настроил основной проект для использования / MT runtime library. Я попытался настроить компоновщик для использования папки дополнительных библиотек, указывающей на статическую папку lib и дополнительные зависимости. Я даже пытался использовать полный путь к файлу libcurl.lib объекта в дополнительных зависимостях компоновщика.
Когда я использую / MT переключатель для библиотек времени выполнения, я могу сказать с помощью Dependency Walker, что все обычные библиотеки, такие как vcruntime,встроен в исполняемый файл, не загружен как DLL, но libucurl.dll все еще там, загружается динамически.
Кажется, что из-за автоматической интеграции пути VCPKG Visual Studio всегда сначала находит и использует импорт libcurl.lib, даже если я укажу полный путь к объекту libcurl.lib во входах компоновщика.
Как настроить Visual Studio для статической ссылки на нужный файл .lib?