CPack 不包含 mfc100.dll

Posted

技术标签:

【中文标题】CPack 不包含 mfc100.dll【英文标题】:CPack doesn't include mfc100.dll 【发布时间】:2014-03-10 11:08:22 【问题描述】:

我认为这个指令在我的由 CPack 生成的 NSIS 安装程序中包含了必要的运行时库:

include(InstallRequiredSystemLibraries)

但事实并非如此。当我在另一台 PC 上使用此安装程序安装我的应用程序时,它抱怨缺少 mfc100.dll - 它不包含在安装程序中。尝试将 MFC 链接设置为静态会导致编译时出现无数错误,因此这不是一个选项。

我是否可以手动找出可以从中获取mfc100.dll 的路径并将其复制到 CMake 脚本中的安装目录,以便将其包含在 NSIS 安装程序中?还有其他选择吗?

【问题讨论】:

【参考方案1】:

诀窍是告诉 CPack 包含它们:

set(CMAKE_INSTALL_MFC_LIBRARIES ON) 
include(InstallRequiredSystemLibraries)

【讨论】:

以上是关于CPack 不包含 mfc100.dll的主要内容,如果未能解决你的问题,请参考以下文章

为啥要在每个项目包配置之后包含(CPack)?

复制文件并将它们包含在 CPack 存档中

为啥我的 Visual Studio 2013 项目需要 mfc100.dll?

如何将所有3rdparty运行时依赖项包含在linux上的cmake / cpack生成的包中?

重命名 cpack 自动目标

在 MFC dll 中使用 cef