gpt4 book ai didi

c++ - VSCode 不对库路径使用 compile_commands.json

转载 作者:太空宇宙 更新时间:2023-11-04 12:50:10 36 4
gpt4 key购买 nike

我已经尝试了所有方法,但我无法让 VSCode 识别我在 compile_commands.json 中的库路径。下面是一些图片来说明我的意思:

项目树
The project tree

实际文件
The actual files

如您所见,C/C++ 扩展未检测到我的库,即使它们包含在由 CMake 生成的 compile_commands.json 中。对此的任何帮助将不胜感激。

最佳答案

compile_commands.json 文件的生成器正在将包含路径移动到 response files 中文件(“命令”文本中的 @file.rsp 文件:您的 Json 字段)。一些生成器会在 Windows 上执行此操作以限制在命令行上输入的命令的长度,目前大约为 8k 个字符,而在 Linux 上为 128k 个字符。过去,Windows 的限制甚至更短,因此一些工具会主动将所有内容移动到 @files 中,即使不会超过行长度限制也是如此。

不幸的是,vscode-cpptools 扩展当前不处理此 @file.rsp 语法。看这个thread .

调用 Cmake 时尝试使用 Ninja 生成器。对于我(在 MSys2 中运行 mingw64),Ninja 创建了独立的 compile_commands.json vscode-cpptools 正确解析的文件。

从源目录的根调用 cmake 的示例:

$ cmake -H"." -B"${output_dir}" -G"Ninja" -DCMAKE_EXPORT_COMPILE_COMMANDS=1

关于c++ - VSCode 不对库路径使用 compile_commands.json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49432379/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com