如何 link 需要 rsrc 部分和 comctl32.dll 的 64 位可执行文件?
How to link a 64 executable that require an rsrc section and comctl32.dll?
正在尝试构建 UltraDefrag。
听起来很简单,但是一旦您将 rc.o 添加到二进制文件的 link 对象,它将使用 32 位版本的 comctl32.dll 触发 0xc0000007 错误在程序启动时。
这是一个已知的 mingw64 错误,但由于该错误自 2011 年以来一直没有回复,我需要解决此问题的方法 (该程序不需要使用 cygwin.dll,所以我可以' t 使用 cygwin).
有什么想法吗?
如果 application manifest 明确指定通用控件的 32 位版本
,就会发生这种情况
即清单包含
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="x86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
您需要将处理器架构更改为:
processorArchitecture="*"
如果这是您问题的原因,则这不是 MinGW-w64 错误。
正在尝试构建 UltraDefrag。
听起来很简单,但是一旦您将 rc.o 添加到二进制文件的 link 对象,它将使用 32 位版本的 comctl32.dll 触发 0xc0000007 错误在程序启动时。
这是一个已知的 mingw64 错误,但由于该错误自 2011 年以来一直没有回复,我需要解决此问题的方法 (该程序不需要使用 cygwin.dll,所以我可以' t 使用 cygwin).
有什么想法吗?
如果 application manifest 明确指定通用控件的 32 位版本
,就会发生这种情况即清单包含
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="x86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
您需要将处理器架构更改为:
processorArchitecture="*"
如果这是您问题的原因,则这不是 MinGW-w64 错误。