【问题标题】:How to run wxWidgets applications on other machines?如何在其他机器上运行 wxWidgets 应用程序?
【发布时间】:2018-03-05 18:27:36
【问题描述】:

我已经下载了 wxWidgets-3.1.0.zip 并解压到D:\wxWidgets-3.1.0。我的操作系统:Windows 7 Professional 64 位。我正在使用 Visual Studio 2015。

我通过运行构建库:D:\wxWidgets-3.1.0\build\msw\wx_vc14.sln,没问题。所以我可以在samples 中构建项目。

  • 重要的是我不能在没有安装 wxWidgets 的另一台机器上运行这个应用程序。我不知道哪个dlls 我必须并排复制我的应用程序。

  • 我怎样才能同时构建statically 我的应用程序,这样我就不必复制Dlls

  • 任何人都可以添加一个有用的教程,逐步说明如何在这两个基础上进行构建:Staticdynamic?。

【问题讨论】:

    标签: visual-c++ wxwidgets


    【解决方案1】:

    如果您打开 D:\wxWidgets-3.1.0\samples\minimal\minimal.sln,您将能够看到您应该设置哪些选项。此外,默认情况下,解决方案设置为静态构建可执行文件。您也可以尝试更改“C/C++ -> 代码生成 -> 运行库”以静态链接 CRT。

    如果您仍然需要/想要构建 DLL,至少您需要 D:\wxWidgets-3.1.0\lib\vc_dll 文件夹中的“基础”和“核心”库。您还需要 CRT 库。每次运行二进制文件时,屏幕上都会出现“找不到库某某”的错误。只需将库复制到可执行文件所在的同一文件夹即可。

    另一件事 - 您应该使用“Build->Batch Build...->Select All->Build”来构建库。

    HTH。

    【讨论】:

    • 在哪里可以找到CRT libraries
    • @Lacrymosa7,同样的方式——你只需运行程序,看看会产生什么错误信息。然后你需要复制这些库。或者只是使用安装生成器将它们添加到项目中。您也可以为此使用 Dependancy Walker,但这样会更慢。
    • 它对我有用:我在另一台计算机上运行应用程序,我阅读了有关丢失 dll 的错误消息,并且每次添加所需的 dll。但是我不知道如何使用静态链接呢?
    【解决方案2】:

    MSVS 2015 不再支持静态链接 CRT,因此您需要以某种方式在目标计算机上安装其 CRT DLL。它可以像将 DLL 复制到您的应用程序文件夹一样简单(尽管 Microsoft 不建议这样做),但仍然需要这样做。

    您可以通过在解决方案文件中选择“Release”配置(而不是“DLL Release”配置)来静态构建 wxWidgets。

    【讨论】:

    • 谢谢! “这可能就像将 DLL 复制到您的应用程序文件夹一样简单(尽管 Microsoft 不推荐这样做”)有什么替代方案?是否有有用的链接?
    • 另一种方法是运行 redist CRT 安装程序以全局安装 DLL(如果尚未安装)。执行此操作的确切方法取决于您安装程序的方式,例如是否使用 MSI。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-10
    • 2012-04-07
    • 2019-03-06
    • 1970-01-01
    • 2013-04-18
    相关资源
    最近更新 更多