<div dir="ltr"><div style="font-family:arial,sans-serif;font-size:13px">From what I can gather, it appears that when compiling a C++ file with the clang binary, clang will use some default header search paths. But when trying to do the same from libclang, it won't. Is this caused by the clang driver/frontend distinction (I don't know much about it)?<br>

</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">Specifically, I'm talking about this issue affecting the YouCompleteMe plugin: <a href="https://github.com/Valloric/YouCompleteMe/issues/303" target="_blank" class="cremed">https://github.com/Valloric/YouCompleteMe/issues/303</a></div>

<div><br></div><div style="font-family:arial,sans-serif;font-size:13px">So, is there a way to get libclang to use the same header search paths that the clang binary does? If not, why not and could this be changed in future versions of libclang?</div>

<div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">If there's no way to get libclang to use the same header search paths by default, is there a way to extract them out of the libclang API so that the paths can then be provided in other libclang API calls? If not now, could libclang be changed to support this in the future?</div>

<div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">The current situation where libclang users are forced to recreate the default header search path logic for every OS is incredibly frustrating. YCM can't even call out to clang to extract the headers out of it with "echo | clang -v -E -x c++ -" because clang might not even be installed on the machine. We only have libclang to work with.</div>

</div>