使用MFC类编写的应用程序是否需要安装外部Framework
Do Applications written with MFC classes require external Frameworks to be installed
如果我在C++中使用MFC库编写应用程序,在部署阶段我是否需要安装某种框架或类似的东西?我的意图是有一个独立的exe没有复杂的安装脚本。
如果您正在为自己的组织开发本地应用程序,可以按照Danny的建议进行静态链接。
但静态链接不是微软推荐的方法:每次有与MFC相关的补丁(这里的例子)或另一个库的z补丁时,你都必须重新编译代码并重新分发或安装它,以避免PC暴露在安全漏洞中。
这就是为什么微软建议使用动态库:这些库更容易更新/替换(最终已经安装了最新版本;或者自动更新windows;或者在必要时手动下载最新版本)。
如果你选择动态方法:
- 有几个
mfc*.dll
与其他标准库(如Msvcr100.dll
)一起随应用程序分发。这都在文章中解释过了。在应用程序的目录中安装这样的文件具有安装过程更精简的优势。但在必要的情况下,你必须对他们的更新负责 - 或者您选择使用Microsoft的可重新分发软件包。这些可以直接从Microsoft下载,并包含在可自行安装的文件
vc_redist*.exe
中。以下是关于如何在安装过程中使用它们的一些解释。它可能安装的dll比所需的多,但vc_redist是已安装的Microsoft产品,它与Windows Update保持同步
如果链接MFC
statically
,则不需要外部文件。
项目设置/概述:
Use of MFC: Use MFC in a Static Library
但是,正如Christophe所提到的,微软并不推荐使用它。
相关文章:
- 在Ubuntu 16.04上安装Cilk时出现问题
- 在CMakeLists.txt的安装功能中使用.cmake文件有什么用
- C++:如何在CLion IDE中安装Boost
- 在函数内部的声明中初始化数组,并在外部使用它
- 使外部项目可用于find_package CMake
- C++:Application.cpp中抛出了未解析的外部符号(解决方案在问题的末尾,供未来的读者参考)
- 使用外部SDK工具链文件在VisualStudio上生成项目编译错误
- C++:来自外部文件的Trivia
- 从函数角度看ID到文件路径的内部与外部映射
- C++:将外部库链接到dll库
- spdlog标头仅与外部fmt一起使用.spdlog错误:'内部':不是'fmt'
- 节俭并发:未解决的外部问题
- OpenCV 安装,未解析的外部符号
- ELI5 如何安装像 curl 这样的外部库
- 使用MFC类编写的应用程序是否需要安装外部Framework
- 如何在Xcode 4中安装外部库
- 在vc++ 11上安装libCURL -无法解析的外部符号错误
- 我可以添加外部DLL到npapi插件,应该安装在浏览器中
- 在代码块中安装外部'library?'
- Cmake未被识别为内部或外部命令.如何使用windows命令提示符检查安装的cmake的版本