c++:如何在没有mingwm10.dll的情况下发布单个可执行文件
C++: How to ship a single executable without mingwm10.dll
我正在用c++/wxWidgets创建一个小的跨平台程序。通过使用静态链接,我最终只获得了一个Windows的。exe文件。但是它仍然需要一个很小的(18 KB)的mingwm10.dll
虽然我可以用这个dll分发我的应用程序,但我更愿意让它"在".exe中…这可能吗?
谢谢
如果使用配置脚本编译wxWidgets,则需要添加--disable-threads
。这将设置wxUSE_THREADS
为0,wxThread类和所有依赖于线程的代码将不会被编译。自动不链接mingwm10.dll
"包含所有项目文件的单个EXE"称为设置脚本。考虑类似InnoSetup或MSI的程序。
在第一次使用代码时滚动自己的安装DLL理论上是可能的,但是非常难看。它是这样的:您将DLL(如果可能的话,已压缩)作为资源添加到EXE中。在启动时,您尝试加载DLL;如果你不能,你就把它从资源中拿走,放在某个地方。这将打破非管理员用户。而且自动特权升级不起作用(它适用于安装文件)。在安装DLL之前,您必须非常小心不要调用DLL中的任何内容。就像我说的,非常非常丑。
相关文章:
- 在没有太多条件句的情况下,我如何避免被零除
- 为什么在没有显式默认构造函数的情况下,将另一个结构封装在联合中作为成员的结构不能编译
- 在未初始化映射的情况下,将值插入到映射的映射中
- 在 Windows 上,是否可以让 dll 在不使用 PATH 环境变量的情况下在另一个文件夹中查找依赖项?
- 如何在没有任何依赖库的情况下在Visual Studio中构建dll?
- 是否可以在不安装可分发的 VC++ 包的情况下将 MSVCRT DLL 与我的应用捆绑在一起
- 可以在不设置链接器>常规>附加库目录的情况下搜索哪种 dll 或 lib
- 在没有提供IDL(用于TLB)的情况下,从COM+dll获取IDL
- 在没有dll的情况下使用libcURL的正确方法是什么?
- 如何在不使用依赖DLL的情况下运行该DLL
- 如何在不使用com的情况下调用perl中的C++dll
- 如何在VC++2015全程序优化的情况下正确地从dll中公开接口
- 如何在不将glew32.dll放入系统根目录的情况下包含它
- 如何在没有sqlite3.dll的情况下使用sqlite3
- 如何在不注册dll的情况下对c++ COM代码进行单元测试?
- 如何在不链接kernel32.dll和ntdll.dll的情况下运行PE映像
- 如何在没有库文件的情况下将dll引用到Visual Studio
- 在vc++中,有没有办法在没有任何头文件的情况下知道dll的导出类?
- c++:如何在没有mingwm10.dll的情况下发布单个可执行文件
- 在不引用DLL/程序集的情况下加载WinRT组件