小天管理 发表于 2024年8月24日 发表于 2024年8月24日 我在使用 compiledb 执行 make 的时候,我在使用 compiledb 执行 make 的时候会有类似这种错误提示( https://github.com/nickdiego/compiledb/issues/96 , 这个网页里面也提到了): ## Processing build commands from <fdopen> Line 1: Failed to parse build command [Details: (<class 'bashlex.tokenizer.MatchedPairError'>) unexpected EOF while looking for matching '`' (position 78)]. Ignoring: 'make: Entering directory `/c/sw_package/sources/iot/hello/src'' New command: C:\tools\MinGW\bin\gcc.exe -IC:\tools\MinGW\i686-w64-mingw32\include hello.c -v --debug -o hello.exe Line 3: Failed to parse build command [Details: (<class 'bashlex.tokenizer.MatchedPairError'>) unexpected EOF while looking for matching '`' (position 77)]. Ignoring: 'make: Leaving directory `/c/sw_package/sources/iot/hello/src'' ## Loaded compilation database with 0 entries from compile_commands.json ## Writing compilation database with 0 entries to compile_commands.json ## Done. 很明显,compiledb 因为这个路径两边的字符不一样而报错了。进而导致生成的compile_commands.json是一个空文件。 我又单独执行了 make ,发现确实是这样的,就是 make 时,出现 make: Entering directory 时,那个路径的两边字符就是不一样的,分别是反引号和单引号。 make: Entering directory `/c/sw_package/sources/iot/hello/src' 请问各位大佬,这是 make 的问题吗? 还是说,make 的输出就是对的没有问题,但是我得自己 特殊处理一下 make 的输出,再给到 compiledb ?
已推荐帖子