【问题标题】:install wxWidget as static library by Vcpkg通过 Vcpkg 将 wxWidget 安装为静态库
【发布时间】:2020-07-01 02:41:03
【问题描述】:

我正在使用 Visual Studio 2019

我按照此链接使用 vcpkg install wxwidgets 安装 wxWidget 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/

使用 vcpkg 安装 wxWidget 后的问题结果构建是动态库,我想将我的项目编译为静态库以在其他用户 pc 上运行 exe 文件。 由于以下原因,我想从动态库编译更改为静态: 另一台 PC 上的用户收到 VCRUNTIME 错误,因此他们必须安装 VC++ 运行时库,正如我在

中所读到的那样

How to fix a missing vcruntime140 clr 400 dll error

问题总结: vcpkg 安装 wxwidgets 结果是动态库配置,我需要安装静态的。

【问题讨论】:

    标签: visual-studio compilation shared-libraries wxwidgets


    【解决方案1】:

    @MohmmedAlaa,

    你最好自己编译库。

    使用 wxWidgets 动态与静态以及 VC++ RT 动态与静态编译项目之间存在很大差异。

    另外,请记住,某些 VC++ RT 未获得分发许可。

    总而言之 - 获取 wxWidgets 源代码,安装 MSVC,构建静态库(可能通过编译器开关来使用“静态 RT”)并编译您的软件。

    【讨论】:

    • +1 在此。将 wxWidgets 编译为静态库比通过 vcpkg 编译要容易得多。请记住为静态链接设置适当的标志
    • 为项目添加自定义模板完成,我不必每次都修改每个新项目
    • @igor There is a big difference between compiling the project ... being dynamic vs static and VC++ RT dynamic vs static. 这到底是什么意思?神秘的缩写 RT 代表什么?事实上,如果你使用的所有神秘缩写都被定义,难道不是所有的读者都会受益吗?
    • @zipzit,你对编译/衬里/执行过程有多熟悉?我使用的所有缩写都是软件开发界非常熟悉的。如果你刚刚开始,你应该熟悉这些术语,否则你不会走得太远。当您刚开始您的旅程时,您当然不应该查看诸如 wxWidgets 之类的库。熟悉 C++,然后回来重读我的答案。
    【解决方案2】:

    而不仅仅是做vcpkg install wxwidgets 使用vcpkg install wxwidgets:x64-windows-static

    这将安装 wxwidgets 和它的所有依赖项与静态运行时和库链接。

    如果您想自定义构建设置,也可以定义自定义三元组(请参阅https://github.com/microsoft/vcpkg/blob/master/docs/users/triplets.md

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-30
      • 1970-01-01
      • 2023-03-10
      • 2023-01-12
      相关资源
      最近更新 更多