应用程序仅在 64 位版本上出错
Application gives error only on 64 bit version
如果是 32 位版本,我的应用程序 运行 运行良好,但是当我将新的 64 位平台添加到配置管理器并尝试 运行 它时,我收到以下消息启动:
阅读后64bit manifest problem / side by side issue我得出结论,问题出在清单行
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")
所以我添加到分支它,以平台为条件:
#ifdef _WIN64
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"")
#else
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")
#endif
因此,我将其添加为通用的,独立于平台:
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
注意 processorArchitecture 值的差异。
现在一切正常!
如果是 32 位版本,我的应用程序 运行 运行良好,但是当我将新的 64 位平台添加到配置管理器并尝试 运行 它时,我收到以下消息启动:
阅读后64bit manifest problem / side by side issue我得出结论,问题出在清单行
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")
所以我添加到分支它,以平台为条件:
#ifdef _WIN64
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"")
#else
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")
#endif
因此,我将其添加为通用的,独立于平台:
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
注意 processorArchitecture 值的差异。
现在一切正常!