у меня есть cppunit от http://cppunit.svn.sourceforge.net/ и он работал нормально до сих пор, когда мне нужно восстановить его в Visual Studio 2012.
Итак, я открыл решение из .. \ branch \ HB_VS2010 \ cppunit \, обновил все проекты до v110, добавил платформу x64 для конфигурации выпуска и попытался собрать ее.
Произошла ошибка error C2440: 'static_cast' : cannot convert from 'void (__cdecl cdxCDynamicDialog::* )(UINT)' to 'void (__cdecl CWnd::* )(UINT_PTR)'
Когда я пытаюсь встроить в debug / win32 или release / win32 — все работает нормально.
Кто-нибудь может помочь?
Я столкнулся с той же ошибкой, когда Visual Studio 2008 пытался собрать cppunit для 64-битной системы. Для меня работало изменение подписи двух функций.
В классе cdxCDynamicDialog
afx_msg void OnTimer(UINT nIDEvent);
стал
afx_msg void OnTimer(UINT_PTR nIDEvent);
так что подпись будет соответствовать функции CDialog :: OnTimer.
После этого я также изменил cdxCDynamicWnd
void DoOnTimer(UINT nIDEvent);
стал
void DoOnTimer(UINT_PTR nIDEvent);
Это не вызывает проблем в 32-битной сборке, потому что на этой платформе UINT совпадает с UINT_PTR.
Других решений пока нет …