升级到VS 2013后,MFC应用程序不再适用于2003 / XP

时间:2015-09-04 20:03:50

标签: c++ visual-studio visual-studio-2013 mfc windows-xp

所以我有一个SDI MFC应用程序,可以在Windows XP和Linux上完美运行Server 2003。

我不得不将项目更新到VS 2013,从那时起,应用程序无法正常加载功能区。

我必须将工具包设置为Visual Studio 2013 - Windows XP(v120_xp),以便应用程序甚至可以在XP上加载,但它无法加载功能区。

我已将其缩小到对LoadFromResource()的调用失败(没有太多细节)。由于2003年不再是远程调试器的支持平台,我无法进行太多调查。

我也无法回到2010年,因为该项目利用了v120 CRT的功能,需要进行大量的调整。

这是代码。正如您所看到的那样,它可以创建功能区,但它无法从资源中加载它。

bool ribbonCreatedSuccesfully = ribbonBar_->Create((CWnd*) this);

if (ribbonCreatedSuccesfully)
{
    ribbonBar_->RemoveAllCategories();

    if (!ribbonBar_->LoadFromResource(IDR_RIBBON1))
    {
    ^ fails here

该应用程序是静态链接的,并且可以在所有后续平台上正常运行(2008,Win7,...)。

我知道要解决这个问题需要很长时间,但我希望有人可能会遇到类似的问题。

0 个答案:

没有答案