установить wxWidget как библиотеку stati c от Vcpkg - PullRequest
0 голосов
/ 20 марта 2020

Я использую Visual Studio 2019

Я перешел по этой ссылке, чтобы установить wxWidget, используя vcpkg install wxwidgets https://www.wxwidgets.org/blog/2019/01/wxwidgets-and-vcpkg/

и прочитал эту ссылку

https://computingonplains.wordpress.com/using-visual-studio-2017-to-build-wxwidgets/

и это

https://devblogs.microsoft.com/cppblog/vcpkg-updates-static-linking-is-now-available/

проблема после установки wxWidget с использованием vcpkg В результате будет создана библиотека Dynami c, и я хочу скомпилировать свой проект как библиотеку stati c для запуска exe-файла на других пользователях p c. Я хочу перейти с Dynami c lib на компиляцию на stati c из-за: пользователи на других компьютерах получают ошибку VCRUNTIME, поэтому им приходится устанавливать библиотеку времени выполнения VC ++, как я читал в

Как исправить отсутствующая ошибка vcruntime140 clr 400 dll

Краткое описание проблемы: результатом установки vcpkg wxwidgets является динамическая c lib конфигурация, и мне нужно установить stati c one.

Ответы [ 2 ]

1 голос
/ 20 марта 2020

@ MohmmedAlaa,

Вам лучше скомпилировать библиотеку самостоятельно.

Существует большая разница между компиляцией проекта с использованием динамических * wxWidgets c vs stati c и VC ++ RT dynamici c vs stati c.

Кроме того, имейте в виду, что некоторые VC ++ RT не лицензированы для распространения.

В общем - получите исходники wxWidgets, установите MSV C, создайте библиотеки stati c (возможно, с переключателем компилятора для использования "stati c RT) и скомпилируйте свое программное обеспечение.

0 голосов
/ 09 апреля 2020

Вместо того, чтобы просто vcpkg install wxwidgets использовать vcpkg install wxwidgets:x64-windows-static

Это установит wxwidgets и все его зависимости со средой выполнения stati c и связью библиотеки.

Вы также можете определить свой собственный триплет, если вы хотите изменить настройки сборки (см. https://github.com/microsoft/vcpkg/blob/master/docs/users/triplets.md)

...