错误:MFC 项目无法定义 _ATL_NO_EXCEPTIONS
Posted
技术标签:
【中文标题】错误:MFC 项目无法定义 _ATL_NO_EXCEPTIONS【英文标题】:Error: MFC projects cannot define _ATL_NO_EXCEPTIONS 【发布时间】:2009-08-30 18:56:39 【问题描述】:我正在扩展一个开源项目。在新的 C++ 文件中包含 afxcoll.h 以使用 CStringArray 后,我收到此错误:
Error: MFC projects cannot define _ATL_NO_EXCEPTIONS
我怀疑我可以通过添加#defines 或更改或重新排列标题的包含来修复错误,或者,如果不可能,使用 CStringArray 以外的其他东西。你有什么建议?
请在 cmets 中针对此问题提出问题,而不是在您的答案中。
【问题讨论】:
【参考方案1】:您可以使用CAtlArray<CString>
代替CStringArray
,因为这与_ATL_NO_EXCEPTIONS
兼容。 ATL 集合类记录在here。不过,我通常更喜欢使用 C++ 标准库类,例如 std::vector
,而不是 MFC 容器类。
我建议调查一下为什么在这个项目中定义了_ATL_NO_EXCEPTIONS
,以及是否可以将其删除。
【讨论】:
根据您对使用 CAtlArray 的建议选择的答案【参考方案2】:如何...不定义 _ATL_NO_EXCEPTIONS 就像错误所说的那样?
(哎呀,这是一个作为答案的问题)。
【讨论】:
以上是关于错误:MFC 项目无法定义 _ATL_NO_EXCEPTIONS的主要内容,如果未能解决你的问题,请参考以下文章
MFC 编译链接错误:unresolved external symbol