Visual Studio 2015 link against MFC42
Visual Studio 2015 link against MFC42
我最近继续了一个我曾经用Visual Studio 6使用MFC开发的项目。
我至少有4年没有碰过代码。
在VS6上编译得很好。
但是现在我安装了VS2015,转换了项目并修复了一些不能在VS2015上编译的代码。
所以一切都很顺利。但是当我试图在干净的Windows 10系统上启动exe时,它说运行时dll缺失(例如mfc140 .dll)。我知道我可以安装vc++发行版来让我的应用程序工作,但是我的应用程序的大小只有325kB。但是我可以看到mfc42 .dll在这个空白的win10系统上。现在已经有了vc++运行时,包括MFC。我只是不想在每个系统上安装一个新的vc++运行时,为什么不使用现有的呢?
谁能告诉我在使用VS2015时如何链接MFC42 ?
想知道为什么这个问题被否决了。
但答案是:这是不可能的。
如果您不想打包vc可分发版,请在安装时从Microsoft下载它们!
在使用InnoSetup依赖安装程序的InnoSetup脚本中,这看起来像
[Languages]
Name: "en"; MessagesFile: "compiler:Default.isl"
Name: "de"; MessagesFile: "compiler:LanguagesGerman.isl"
[Code]
// shared code for installing the products
#include "scriptsproducts.iss"
// helper functions
#include "scriptsproductsstringversion.iss"
#include "scriptsproductswinversion.iss"
#include "scriptsproductsfileversion.iss"
// actual products
#include "scriptsproductsmsiproduct.iss"
#include "scriptsproductsvcredist2015.iss"
// Perform some initializations. Return False to abort setup
function InitializeSetup: Boolean;
begin
initwinversion();
SetForceX86(true); // force 32-bit install of next products
vcredist2015();
SetForceX86(false); // disable forced 32-bit install again
end;
考虑到你的应用程序从VS6升级后仍然只有32位
相关文章:
- " relocation truncated to fit: R_X86_64_PC32 against symbol `__imp_Sleep' "问题
- G++ link against psapi in Cygwin
- Diffrent behaviour-VisualStudio Debugger against running exe
- 如何解决"relocation truncated to fit: R_X86_64_PC32 against undefined symbol `xercesc_3_1::AbstractDOMPa
- 将静态 (.a) 库与共享 (.so) 库链接,得到错误"relocation R_X86_64_32S against a local symbol; recompile with -fPIC"
- Visual Studio 2015 link against MFC42