Как создать проект EDE для C ++

Я пытался создать проект EDE для C ++ (emacs24 + встроенный CEDET), и я начинаю отчаяться, потому что не могу найти способ, которым я хочу, чтобы make-файлы быть сгенерирован. Я относительно новичок в Emacs. Я попытаюсь описать то, что я делаю:

У меня есть такой игрушечный проект:

main.cpp
other/
  Utils.cpp 
  Utils.h
  CGrabBuffer.cpp
  CGrabBuffer.h

main.cpp включает оба .h внутри каталога "other /". Вот шаги, которые я выполняю для создания проекта EDE с помощью этой простой настройки каталога:

  • Откройте main.cpp в emacs и выполните M-x ede-new ; тип: Марка ; название: main-proj .
  • Откройте один из файлов в «другом» каталоге и выполните M-x ede-new ; тип: Марка ; имя: вспомогательный проект .
  • Теперь пора создать цели (которых, как мне кажется, в данном случае три):
    • В буфере main.cpp: M-x ede-new-target ; имя: основной ; введите: программа . Когда будет предложено, я добавляю main.cpp к этой цели.
    • Я повторяю то же самое для двух других целей (Utils, у которого есть Utils.cpp и Utils.h, и CGrabBuffer, у которого есть CGrabBuffer.cpp и CGrabBuffer.h). Здесь я обнаружил первую проблему. Какого типа должны быть эти две цели? Я хочу, чтобы они создавали только файлы .o.
  • После этого я набираю Mx ede-customize-current-target для всех трех целей и добавляю несколько включаемых путей, некоторые библиотеки и т. Д.
  • После этого, если я позвоню Mx ede-compile-project он не компилируется, потому что:
    • Сначала он пытается скомпилировать main.cpp; Я понятия не имею, как указать (используя EDE), что необходимы как Utils.o, так и CGrabBuffer.o, прежде чем пытаться создать main.cpp.
    • Если я вручную изменю порядок (редактируя Makefile), он не сможет связать main.cpp, потому что не сможет найти Utils.o и CGrabBuffer.o.

Как видите, я в большой неразберихе. Может я даже не понимаю, что означает "цель" в EDE. Я также читал о существовании проекта ede-cpp-root-project, который должен быть указан внутри файла .emacs. Я не пробовал, потому что думаю, что он просто помогает с семантикой. Он не создает файлы Makefile, не так ли? Могу ли я иметь (или мне нужен) проект EDE, созданный с помощью Project.el, и то же самое с использованием ede-cpp-root-project для семантики? Или это избыточно?

Извините, если я неправильно понял многие вещи, но я очень запутался, и то, что я новичок в emacs, только усугубляет ситуацию. Спасибо за терпеливость!

РЕДАКТИРОВАТЬ: немного поработав и получив ответы, я смог разобраться во многих вещах, так что большое спасибо. Чего я до сих пор не понимаю, так это использования проекта ede-cpp-root-project, который должен быть указан внутри файла .emacs. Это только для семантики c ++? Является ли избыточным наличие проекта с Project.el и строками elisp в.emacs?

7
задан pparescasellas 26 April 2018 в 07:40
поделиться