Ctags错误"是一个目录"

Cur*_*ous 6 c++ ctags

我试图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)

我该如何解决这个问题?

Cur*_*ous 5

事实证明这是一个不区分大小写的文件系统问题。我使用的 MacOSX 上有不区分大小写的文件,因此名为的文件夹Tags影响了 ctags 程序。删除Tags文件夹或使 ctags 输出到带有该-f标志的另一个文件修复了该问题。

  • 当我使用默认的 Ubuntu Linux ctags 时,我实际上遇到了这个错误。能够通过“sudo apt-get install ctags”安装 ctags 来解决 (2认同)