Eclipse CDT / Qt: зависимость проекта Qt Gui от другого проекта C ++ в рабочей области - PullRequest
0 голосов
/ 07 апреля 2011

Я реализовал довольно сложный алгоритм в проекте Eclipse C ++ («MyAlgorithm») с использованием Eclipse / CDT. Чтобы иметь возможность визуализировать шаги алгоритма, я хотел бы создать простой графический интерфейс Qt. Я скачал и установил интеграцию Qt Eclipse и создал проект Qt («MyGUI») с главным окном. Все компилируется так, как должно - все отдельные компоненты на месте.

Однако, когда я пытаюсь использовать классы из MyAlgorithm в MyGUI, все останавливается ... Хотя я ссылался на MyAlgorithm в MyGUI во всех возможных диалогах и местах, которые я могу придумать [1], при создании проекта все еще не работает с:

main.cpp: 5: фатальная ошибка: MyAlgorithmClass.h: такого файла или каталога нет

Список мест, где я ссылался на MyAlgorithm в MyGUI (все в свойствах проекта "MyGUI"):

  • C / C ++ Включить пути и символы (с помощью «Добавить включить путь из рабочей области ...»)
  • C / C ++ Project Paths (вкладка «Проекты», проверил проект «MyAlgorithm» в списке «Требуемые проекты на пути сборки»
  • Ссылки на проект, проверен проект «MyAlgorithm» в списке «Ссылки на проект для« MyGUI »»

Хотя процесс сборки завершается неудачно, функция автозаполнения Eclipse / CDT не предполагает существование «MyAlgorithmClass.h», когда я пытаюсь включить его в проект «MyGUI». Я также заметил, что изменение настроек проекта (как описано в списке выше) не вызывает никаких изменений в Makefile.

Может ли быть так, что интеграция с Qt Eclipse не позволяет CDT соответствующим образом обновить Makefile, что приводит к сбою процесса сборки из-за отсутствия параметров для компилятора / компоновщика?

Спасибо за вашу помощь!

1 Ответ

5 голосов
/ 26 мая 2011

Короткий ответ: интеграция QT-Eclipse работает неправильно.Вам необходимо вручную обновить файл QT .pro для вашего проекта:

Добавление библиотек:

Добавить любые библиотеки, используя синтаксис:

LIBS += -L<Full path to library include directory>
LIBS += -l<Eclipse Artifact>

пример:

LIBS += -LC:/MyEclipseWorkspace/Project1/Debug
LIBS += -lProject1

Это свяжет libProject1.a с вашим проектом затмения.

Добавление включаемых файлов:

INCLUDEPATH += <Absolute or Relative Path to include location>

пример:

INCLUDEPATH += src ../Project2/include C:/dev/boost_1_46_1

HTH

...