Clang cindex не может найти заголовок в unsaved_files - PullRequest
0 голосов
/ 20 февраля 2020

Я пытаюсь использовать clang.cindex в Python, но когда я пытаюсь передать фиктивный заголовок, он не работает:

import sys
from clang import cindex
tu = cindex.Index.create().parse('t.cc', args=[], unsaved_files=[
    ('t.h', ''),
    ('t.cc', '#include "t.h"'),
])
for diag in tu.diagnostics:
    sys.stderr.write(diag.format() + "\n")

Полученная ошибка:

t.cc:1:10: fatal error: 't.h' file not found

Что происходит? Почему он может найти t.cc, а не t.h?

1 Ответ

0 голосов
/ 20 февраля 2020

Оказывается, это связано с отсутствием префикса ./. Видимо пути не канонизированы.

Это отлично работает:

import sys
from clang import cindex
tu = cindex.Index.create().parse('./t.cc', args=[], unsaved_files=[
    ('./t.h', ''),
    ('./t.cc', '#include "t.h"'),
])
for diag in tu.diagnostics:
    sys.stderr.write(diag.format() + "\n")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...