Проект Eclipse CDT не может включить перемещенный заголовочный файл после обновления системы - PullRequest
0 голосов
/ 01 мая 2018

У меня есть проект CMake, который я успешно построил с помощью Eclipse. (Подробные инструкции по настройке для этого проекта здесь .) Это было с Ubuntu MATE 16.04 и Eclipse Luna.

Я только что обновился до Ubuntu MATE 18.04. Поскольку Eclipse больше не запускается (предположительно, из-за проблем совместимости с новой версией OpenJDK), я решил, что пришло время перейти на Oxygen.

После того, как я настроил Eclipse Oxygen и все надстройки, я открыл рабочее пространство и попытался построить проект. Сбой со следующим сообщением:

/home/user149408/src/navit/navit/binding/python/common.h:20:10: fatal error: Python.h: No such file or directory
 #include <Python.h>
          ^~~~~~~~~~

Я grep’d и нашел заголовочный файл на /usr/include/python3.6m/Python.h. Я проверил свойства проекта в C / C ++ Включить пути и символы и заметил, что в нем есть запись для /usr/include/python3.5m, поэтому я изменил ее, чтобы отразить текущий путь.

Но даже после этого проект не может быть собран с тем же сообщением об ошибке. Я пробовал следующее:

  • Повторный запуск cmake -G "Eclipse CDT4 - Unix Makefiles" ~/src/navit
  • Обновить проект
  • Очистить проект
  • Построить заново

Когда я пытаюсь собрать проект с CMake в командной строке, он собирается без ошибок. Что здесь не так?

1 Ответ

0 голосов
/ 01 мая 2018

Очевидно, cmake не переоценивает все, но полагается на некоторые кэшированные данные с первого запуска.

В каталоге проекта (в рабочей области) я удалил следующие два файла:

.cproject
CMakeCache.txt

Затем я перезапустил cmake -G "Eclipse CDT4 - Unix Makefiles" ~/src/navit, запустил Eclipse, обновил проект, очистил и собрал его.

На этот раз сборка проходит без ошибок. Приложение по-прежнему выдает ошибку об отсутствующем модуле GTK, но это также происходит со сборкой из командной строки и почти наверняка является другой проблемой.


Обновление: после того, как я столкнулся с различными другими проблемами, я узнал, что генератор проектов Eclipse в CMake, кажется, не поддерживается и подвержен ошибкам, поэтому рекомендуется использовать вместо него cmake4eclipse (доступный на Eclipse Marketplace). Если у вас возникла проблема, описанная выше, рассмотрите возможность миграции.

...