运行使用wxWidgets构建的独立exe所需的文件

运行使用wxWidgets构建的独立exe所需的文件,wxwidgets,Wxwidgets,我在Visual Studio 2017下使用wxWidgets 3.1.4构建了一个EXE 我可以从Visual Studio启动EXE,但不能在Visual Studio外部启动 我得到的信息是: 未处理的未知异常;终止应用程序 EXE是在Release/x86中构建的 我曾尝试将wxWidgets的发行版DLL复制到与EXE相同的文件夹中,以及从vc_redist_x86复制文件,但仍然出现错误 感谢您的帮助这是一个应用程序错误,缺少一个资源文件 我已经删除了发布文件夹,重建并复制了资源文

我在Visual Studio 2017下使用wxWidgets 3.1.4构建了一个EXE

我可以从Visual Studio启动EXE,但不能在Visual Studio外部启动

我得到的信息是:

未处理的未知异常;终止应用程序

EXE是在Release/x86中构建的

我曾尝试将wxWidgets的发行版DLL复制到与EXE相同的文件夹中,以及从vc_redist_x86复制文件,但仍然出现错误


感谢您的帮助

这是一个应用程序错误,缺少一个资源文件

我已经删除了发布文件夹,重建并复制了资源文件和EXE运行

发布DLL在我的%PATH%中,我已经安装了vc_redist_x86.exe,所以我想这两件事可以让我的独立exe启动。

@MaximeMevermier

要自己构建库,请执行以下操作:

  • 打开${WXWIN}\build\msw\wx_vcN.sln
  • 选择生成->批量生成
  • 选择显示“调试/Win32”的所有项目
  • 单击“构建”
  • 生成的库将位于${WXWIN}\lib目录中

    现在,您只需更改应用程序的项目文件并重新生成


    那么您就不需要wxWidgets DLL了。

    @MaximeVerner,您可以运行应用程序的调试版本并查看崩溃发生的位置吗?缺少一个资源文件,它与.cpp文件一起存在,但不在发布文件夹中。我不会看到它在调试,因为文件是存在的,但感谢。YououSouod考虑建立一个静态的应用程序的构建。除非您正在制作一个额外的DLL…不知道如何,我使用的是wxWidgets的预构建二进制文件。静态构建需要重建wxWidgets,对吗?@MaximeVermier,自己构建就可以了。你用什么编译器?它很容易建立…我使用Visual C++。奇怪的是,即使删除了所有的VisualC++重新分配表,可执行文件仍然启动。谢谢Igor,我应该试试这个。@ MaximeVernier,请告诉我们你是否会有任何问题。您也可以尝试静态链接CRT,但需要更改所有项目(wxwidgets和您的项目)。所以,我建议你不要那样做。此外,CRT将来可能会更改。已成功构建调试/Win32。我对项目进行了如下修改:VC++目录:前置%WXWIN%\lib\VC_lib和Linker\Input\Additional Dependencies:添加了wxbase31ud.lib和wxmsw31ud_core.lib,但exe仍然绑定到DLL。@maximevenier,请检查
    minimal
    示例默认项目解决方案。您自己的解决方案应该有2个设置,尤其是从
    minimal
    复制它时。选择适当的配置并重建。我已经构建了minimal,并且看到它不依赖于DLL。我尝试将最小文件夹复制到其他位置,调整.sln中核心和基础的位置,但由于某些原因,项目最小文件夹没有加载。