我试图ctags使用此答案C++源标记中列出的选项标记C++项目.我在一个包含多个文件夹的项目树中,这些文件夹包含源文件.我尝试了以下标记整个源代码树
ctags --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++ -R .
find . -type f \( -iname "*.cpp" -o -iname "*.hpp" \) | xargs ctags --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++
ctags -R .
ctags -R *
Run Code Online (Sandbox Code Playgroud)
以上所有都给出了同样的错误
ctags: Failure on attempt to read file : Is a directory
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
事实证明这是一个不区分大小写的文件系统问题。我使用的 MacOSX 上有不区分大小写的文件,因此名为的文件夹Tags影响了 ctags 程序。删除Tags文件夹或使 ctags 输出到带有该-f标志的另一个文件修复了该问题。