一杯清酒邀明月
天下本无事,庸人扰之而烦耳。

最近本猿搞一个MFC和QT混合编程的东西,经常出现这样的错误:

:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/ATLMFC/INCLUDE/atlbase.(3210): Parse error at "__identifier"

查了一下,发现网上信息很少,而且很多人说MFC和QT没法混合。其实他们两是可以一起玩的。所谓实践出真知,通过折腾,发现原来是stdafx.h中的afxwin.h中对ATL的因为导致的,而且和奇怪的是一旦把include放在头文件中,就会出现上述错误。否则也能编译通过。这样使用的程序猿,注意规避一下。

这里也给出解决方案。对于Qt的环境,修改pro工程文件:

DEFINES += _ATL_NATIVE_INITIALIZATION

对于VS环境,需要修改moc编译选项:

 

 

posted on 2021-08-19 14:19  一杯清酒邀明月  阅读(392)  评论(1编辑  收藏  举报