vc++ 使用64位平台编译,运行程序出现0xc000007b错误的解决方案

在VS中,将项目从32位平台切换到64位编译时,运行时遇到0xc000007b错误。该错误通常是由于使用了不兼容的32位库导致的。通过修改项目manifest文件,将processorArchitecture从'X86'改为'amd64',可以解决此问题。

案例重现

使用vs在32位平台编译正常运行,切换到64位编译后,运行程序出现0xc000007b错误。


错误原因:

可能使用了32位lib

#pragma comment(lib,"comctl32.lib")

解决方案:

修改manifest:


<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <assemblyIdentity
      version="1.0.0.0"
      processorArchitecture="X86"
      name="CompanyName.ProductName.YourApplication"
      type="win32"
/>
  <description>Your application description here.</description>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity
          type="win32"
          name="Microsoft.Windows.Common-Controls"
          version="6.0.0.0"
          processorArchitecture="X86"
          publicKeyToken="6595b64144ccf1df"
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值