为何我的代码在CppDepend中被归为外部代码?如何强制目录非外部归类?
解决CppDepend错误归类目录为外部代码的方案
手动通过项目属性标记目标目录
- 打开CppDepend项目的Project Properties面板
- 切换到Sources & Includes标签页
- 在Directories to Analyze区块中,点击添加按钮,选中需要标记为非外部的目录
- 确认这些目录没有被列入Excluded Directories或External Directories列表
- 保存设置后重新执行代码分析
用CQLinq规则强制覆盖外部代码判定
如果手动设置不生效,可通过自定义CQLinq规则强制修正归类:
- 打开CppDepend的CQLinq Query Editor
- 创建新规则,插入以下代码:
from t in Types where t.SourceFilePath.StartsWith(@"你的目标目录绝对路径") select new { t, IsExternal = false }
- 保存并启用该规则,重新分析后,目标目录下的代码会被强制标记为非外部
校验并修正编译数据库路径
若依赖compile_commands.json,需确保路径匹配:
- 检查编译数据库中目标目录下文件的路径是否为绝对路径,且与CppDepend识别的路径格式一致
- 若路径存在差异,手动编辑
compile_commands.json,修正对应编译单元的directory字段,使其指向项目根目录,避免CppDepend误判为外部依赖
内容的提问来源于stack exchange,提问作者Attila Horváth
相关产品推荐
相关产品推荐

