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

时间:2013-05-15 21:39:43

标签: windows visual-studio-2012 32bit-64bit

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

一些研究和使用依赖性walker表明问题是可执行文件正在加载64位dll而不是32位dll。

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

1)。这个解决方案是一个合理正确和便携的解决方案吗?

2)。如何配置VS 2012以静态链接?

N.b:这是一个C ++原生程序。

1 个答案:

答案 0 :(得分:0)

虽然这本身不是上面“合理正确和便携”问题#1的答案,但我从How do I make a fully statically linked .exe with Visual Studio Express 2005?找到了#2的答案。如果编译器/ MD选项更改为/ MT,它会从DLL中的链接切换到静态链接它,问题就会消失[1]。

[1]。仅仅因为问题消失并不意味着它已经解决了。