Как запретить Qt Creator автоматически использовать определенный путь включения?

0

Я использую две разные версии GCC на одной и той же машине CentOS (входит в одну и одну ОС), и я не хочу заменять систему GCC своим пользовательским, я использую пользовательский вариант для создания некоторого программного обеспечения. Проблема заключается в том, что Qt Creator добавляет /usr/include чтобы автоматически включать папки, поэтому пользовательский GCC начинает использовать систему C++ и включает в себя сообщения со странными сообщениями об ошибках, такие как error: '::memchr' has not been declared. У меня нет /usr/include где-нибудь в моем файле *.pro, поэтому похоже, что Qt Creator добавляет их сам. Как запретить проекту Qt Creator использовать некоторые конкретные включенные исправления, чтобы разрешить компиляцию на машине с 2 версиями GCC? Когда я использую Eclipse CDT на том же компьютере, он отлично работает, потому что Eclipse ничего не добавляет и использует только указанные мной каталоги.

  • 0
    QtCreator не имеет ничего общего с тем, какой проект вы используете.
  • 0
    Я использую статическую библиотеку проекта. Это портативная библиотека, которую я компилирую на многих ОС и платформах, она не содержит ничего специфичного для QT, однако я пытаюсь использовать QT Creator здесь, как универсальную IDE.
Показать ещё 2 комментария
Теги:
qt
gcc

2 ответа

0
Лучший ответ

Это не изящный ответ, если у кого-то есть лучшие идеи, вы по-прежнему можете опубликовать свой ответ, и я приму его. Итак, я добавил шаг пользовательской сборки между командами qmake и make, и я использую команду sed в этом шаге пользовательской сборки для редактирования Makefile на лету и удаления дополнительных включений. Это решение работает, однако, оно уродливо.

0

Вы можете использовать CXXFLAGS += -nostdinc.

Это должно сделать следующее (выдержка из руководства):

Не выполняйте поиск в стандартных системных каталогах для файлов заголовков. Будут найдены только те каталоги, которые вы указали с параметрами -I (и каталог текущего файла, если необходимо).

  • 0
    Это не помогает Проблема не в неправильном стандарте включает. Проблема в том, что qmake добавляет некоторые включения явно с ключом -I , и они включают причину ошибки, и qmake добавляет их даже тогда, когда я устанавливаю пустое значение в INCLUDEPATH .
  • 0
    Эти файлы локальны для вашего проекта? Или они связаны с системой (например, установленные приложения / библиотеки)?
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню