构建正确链接的可执行文件以避免错误0xc000007b



我正在用VS 2012的默认构建设置构建一个32位可执行文件。它在一台64位计算机(开发机器)上正确工作;在另一台64位计算机上,程序崩溃并出现错误0xc000007b。

稍微研究一下,使用依赖项跟踪器就会发现问题是可执行文件加载的是64位dll而不是32位dll。

我有理由相信这是可以解决的,通过配置构建静态链接所需的代码,而不是调用dll。

1)。这个解决方案是合理正确和可移植的解决方案吗?

2)。我如何配置VS 2012静态链接如上所述?

N。b:这是一个c++本地程序

虽然这本身不是"合理正确和可移植"问题#1的答案,但我从如何使用Visual Studio Express 2005创建完全静态链接的。exe中找到了#2的答案?如果将编译器/MD选项改为/MT,它将从DLL中的链接切换到静态链接,问题就解决了[1]。

[1]。问题消失了,不代表问题解决了。

最新更新