(I tried to create a small project and reproduce but I'm not able to even get the file to index so I'll try to describe what happens in the big project)
So I have a project that cross compiles to esp32. I have a compile_commands.json generated from CMake. When I ccls, it gives weird errors depending on what configuration I try.
I always need to replace all toolchain-specific compilers (/path/to/toolchain/xtensa-esp32-elf-gcc) with normal gcc/g++ commands in compile_commands.json for things to be indexed.
no type named '_Tp_alloc_type' in 'std::_Vector_base<double, std::allocator<double>>'
member reference type 'std::shared_ptr<Maneuver>' is not a pointer; did you mean to use '.'?
If I replace the %compile_commands.json with %g++ (I don't know what I should expect that does), then it gives things like:
unknown type name 'namespace'
no matching function for call to 'make_shared'
I don't seem to have a problem with ccls not finding headers, cuz there are no errors on the types, and I can go to the definition of e.g. std::shared_ptr and it's in the right include directory (when I use %compile_commands.json as the first line of .ccls).
Any ideas of what can cause issues?
System information
ccls version (git describe --tags --long): 0.20220729-4-g8bc39595
(I tried to create a small project and reproduce but I'm not able to even get the file to index so I'll try to describe what happens in the big project)
So I have a project that cross compiles to esp32. I have a
compile_commands.json
generated from CMake. When Iccls
, it gives weird errors depending on what configuration I try.I always need to replace all toolchain-specific compilers (
/path/to/toolchain/xtensa-esp32-elf-gcc
) with normalgcc
/g++
commands incompile_commands.json
for things to be indexed.If in my
.ccls
, I have:then
ccls
gives errors like:no type named '_Tp_alloc_type' in 'std::_Vector_base<double, std::allocator<double>>'
member reference type 'std::shared_ptr<Maneuver>' is not a pointer; did you mean to use '.'?
If I replace the
%compile_commands.json
with%g++
(I don't know what I should expect that does), then it gives things like:unknown type name 'namespace'
no matching function for call to 'make_shared'
I don't seem to have a problem with
ccls
not finding headers, cuz there are no errors on the types, and I can go to the definition of e.g.std::shared_ptr
and it's in the right include directory (when I use%compile_commands.json
as the first line of.ccls
).Any ideas of what can cause issues?
System information
git describe --tags --long
):0.20220729-4-g8bc39595
15.0.7