VS2019与Doxygen符号注释冲突:商标符号兼容方案问询
VS2019与Doxygen兼容XML注释商标符号的解决方案
方案1:直接使用原生商标字符™
直接在XML注释中插入真实的™字符(可通过输入法快捷键插入:Windows按Alt+0153,Mac按Option+2):
- VS2019编译无CS1570错误,文档窗口正常显示商标符号
- Doxygen生成HTML文档时直接保留该字符,只要HTML编码设为UTF-8就会正常渲染
方案2:修改Doxygen配置解析XML实体
针对已使用™的现有注释,只需调整Doxygen配置文件Doxyfile,避免实体二次转义:
- 设置
HTML_ENCODING = UTF-8,确保输出HTML采用UTF-8编码 - 开启
XML_PARSE = YES,让Doxygen正确解析XML注释中的实体编码 - 确认
XML_ENCODING = UTF-8,保证Doxygen读取XML注释时用正确编码解析
修改后,Doxygen会将™正确转换为™,而非转义成™,同时VS2019不受任何影响。
方案3:轻量别名兼容(少量注释修改)
若不想改配置或插入原生字符,可在Doxygen中定义别名,同时兼容VS:
在Doxyfile中添加:
ALIASES += "trade=\™"
然后在XML注释中使用{@trade}标记:
/// <summary>这是包含{@trade}的产品说明</summary> public void ProductMethod() {}
- VS2019会将
{@trade}当作普通文本显示,虽不渲染为商标,但也不会报错 - Doxygen生成文档时会将
{@trade}替换为™,正常显示商标符号
内容的提问来源于stack exchange,提问作者Underhill
相关产品推荐
相关产品推荐

