2013-08-28 5 views
0

У меня возникла проблема с завершением кода в Qt Creator. У меня есть предварительно скомпилированный заголовок с именем OgreHeaders.h. Я строию clang используя qmake mkspec unsupported/linux-clang. Мой проект строится, но когда я его редактирую, я не получаю никаких подсказок кода. Я думаю, что это связано с тем, что мой предварительно скомпилированный заголовок включен с использованием опции компилятора -include-pch, а не #include. Так что модель кода Qt Creator даже не находит ее. У меня возникла идея обматывать заголовок в #ifdefs или #ifndefs, чтобы он разбирал его, но не компилировал.Окончание кода скомпилированных заголовков Qt Creator

#ifdef PCH 
#include <OgreHeaders.h> 
#endif 

мне нужно как-то #define PCH в модели Qt Creator кода, но не в одном составителя. Или сделайте обратное. Я пробовал использовать QMAKE_CXX_FLAGS и DEFINES, но Qt Creator подбирает их.

Я видел this статью о интеграторе. В нижней части статьи говорится:

При переходе в режим «Проекты», вы увидите вкладку дополнительные с «Код настройки заканчивания», где вы можете выбрать заголовок «обычай». При выборе этой опции модель кода будет использовать этот заголовок как кеш , но компилятор не будет использовать его.

У меня нет такой опции в моем Qt Creator (2.8.0). Любые идеи о том, как обойти эту проблему, или мне нужно создать Qt Creator с интеграцией clang из git?

ответ

0

Помещенный либо

#define PCH 

или

#undef PCH 

в PROJECT_NAME.config файл в корневом каталоге вашего проекта, где PROJECT_NAME это имя вашего проекта в Qt Creator - так же, как и PROJECT_NAME.filesPROJECT_NAME.includes.

+0

Это изменяет завершение кода Qt Creator '# define' или компилятора? – Nazar554

+0

Да, этот файл используется только после завершения и выделения кода Qt Creator; он не передается в препроцессор/компилятор. – hluk

Смежные вопросы