将 /EHa 添加到使用 Microsoft Visual C++ 编译器的 QtCreator
Posted
技术标签:
【中文标题】将 /EHa 添加到使用 Microsoft Visual C++ 编译器的 QtCreator【英文标题】:Add /EHa to QtCreator that used Microsoft Visual C++ Compiler 【发布时间】:2012-06-30 19:28:26 【问题描述】:如何在 QtCreator for MS Compiler 中添加/EHa
(结构化异常处理)。
我用过Microsoft Visual C++ Compiler。
【问题讨论】:
【参考方案1】:这是怎么做的。适用于 Qt 4 和 Qt 5。这将设置 EHa 而不是默认的 EHsc:
win*
QMAKE_CXXFLAGS_EXCEPTIONS_ON = /EHa
QMAKE_CXXFLAGS_STL_ON = /EHa
【讨论】:
【参考方案2】:在您的项目文件中,添加:
QMAKE_CXXFLAGS += /EHa
【讨论】:
它不起作用。它适用于其他标志,但不适用于 /EHa。我假设它被 qmake.spec 覆盖。【参考方案3】:只需转到 QtDIR 和 mkspecs 并选择编译器文件夹
然后打开qmake.conf并编辑
QMAKE_CFLAGS_RELEASE to
QMAKE_CFLAGS_RELEASE = -EHA
【讨论】:
编辑 qmake.conf 是一种 hack 并且不可移植(例如,您必须为您工作的每台机器上的每个 Qt 版本执行此操作)。请参阅我的答案,了解仅需要编辑 .pro 文件的便携方式。以上是关于将 /EHa 添加到使用 Microsoft Visual C++ 编译器的 QtCreator的主要内容,如果未能解决你的问题,请参考以下文章
MSVC - /EHsc 与 /EHa(同步与异步异常处理)
如何在 Visual Studio 2003 上指定 /EHa
使用 Microsoft Graph API 将在线会议 URL 添加到事件