我已经将我的应用程序从32位移植到了64位平台,并遇到了各种构建问题。我几乎解决了所有问题,但是出现了我无法弄清的错误。

有人可以建议解决此错误吗?


DoModal覆盖的代码:

int CICEVisionDlg::DoModal()
{
  int nRet;
  m_bPopup = TRUE;
  CEXTDLLState EXTDLLState(m_hResDllModule);
  nRet = CDialog::DoModal();
  m_bPopup = FALSE;
  return nRet;
}

最佳答案

DoModal的返回值是INT_PTR,在32位平台上只是int,而在64位平台上只是__int64。将覆盖函数的返回值更改为INT_PTR,它将在两者上进行编译。

09-06 17:34