For example, if I include <string>, it will show an error saying 'string' file not found clang(pp_file_not_found): 
I am building the project into build folder. And use a .clangd file to specify the CompilationDatabase to where compile_commands.json is. This method is successful in my another PC(macOS). For VScode settings about clangd, I specified the clangd.path.
For this PC(Linux Ubuntu), I tried to add "-std=c++17" to 'clangd.fallbackflags'. But it still does not work.
When I use CMake to compile the whole project, it works well. Seems it is a VSCode issue or clangd issue.
Update: I found that if I use #include <9/string> instead of #include <string>, vscode can find the file, is that something about include path? However, I have never made changes to it. So I tried to update the include path by this method Visual Studio Code cannot open source file "iostream". Still does not work.
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)to set. Also use .clangd file to specify the position ofcompile_commands.json. Also add "-std=c++17" to 'clangd.fallbackflags'. Still does not work.{my_project_path}/build? I did so.