Closed v1nh1shungry closed 2 years ago
我这里可以,没法复现,可以 命令执行下看看 xmake project -k compile_commands
也可以先 xmake f -c
清下缓存,重新 fetch 包配置
[
{
"directory": "/private/tmp/test",
"arguments": ["/usr/local/bin/ccache", "/usr/bin/xcrun", "-sdk", "macosx", "clang", "-c", "-Qunused-arguments", "-arch", "x86_64", "-mmacosx-version-min=11.4", "-isysroot", "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-I", "/Users/ruki/.xmake/packages/s/sfml/2.5.1/a7870cfff1a548818886e8c4d5e5b4a2/include", "-DNDEBUG", "-o", "build/.objs/tutor/macosx/x86_64/release/src/main.cpp.o", "src/main.cpp"],
"file": "src/main.cpp"
}]
xmake project -k compile_commands
输出的是正常的,我之前有提到过。就每次用xmake新建好项目,用code打开,修改xmake.lua然后保存以后,感觉像是插件自动执行的配置动作没有完全config一样,它的输出文件结构是这样的:
.
├── build
│ └── compile_commands.json
├── .gitignore
├── src
│ └── main.cpp
├── .xmake
│ └── linux
│ └── x86_64
│ └── cache
│ ├── detect
│ └── toolchain
└── xmake.lua
没有配置包的信息,但是执行xmake build之类的命令后就config完全了,此时执行XMake: UpdateIntellisense
命令以后也就随之完整了。不清楚为什么xmake.lua保存后插件自动执行的配置动作不完整。
需要先编译或者 config一次,否则取不到配置信息
我不明白为什么插件自动执行的配置动作会不完整,这样插件自动生成的compile_commands.json就无意义了啊,而且貌似添加set_languages
这样的指令会更新compile_commands.json,而添加package这样的动作却没有反应。我觉得这应该是一个问题而不是feature。
Xmake 版本
2.6.5
操作系统版本和架构
5.10.16.3-microsoft-standard-WSL2
描述问题
我在项目中添加了从xrepo安装的package(在下面的工程配置例子中是sfml),在保存xmake.lua后不久自动生成了compile_commands.json文件,但是自动生成的compile_commands.json文件中没有include我添加的package的头文件,如下:
然而手动使用
xmake project -k compile_commands
生成的json文件是正常的,正确地include了所用的package的头文件目录。期待的结果
生成的compile_commands.json能够include(-I)添加的包的头文件目录。
工程配置
附加信息和错误日志
No response