Справка по Cedet: Настройка проекта Make - PullRequest
1 голос
/ 12 декабря 2011

Я учу cedet для моих проектов c / c ++. Однако я сталкиваюсь с трудностями в проектах Make.

Скажи, у меня есть файл main.cpp, который выглядит так

//main.cpp
#include "temp.h"
blah... <c++ code>

и у меня есть temp.h и temp.cpp

это выглядит так

//temp.h
some declarations

//temp.cpp
some definitions

Затем в emacs + cedet я делаю ede-new, а затем добавляю цель main , используя ede-new-target, и добавляю main.cpp в main.

Затем я пишу temp.h и temp.cpp и добавляю temp.cpp к целевой темп.

Я выбираю все цели в качестве программы, генерирующей этот Project.ede file

;; Object Test
;; EDE project file.
(ede-proj-project "Test"
  :name "Test"
  :file "Project.ede"
  :targets (list 
   (ede-proj-target-makefile-program "main"
    :name "main"
    :path ""
    :source '("main.cpp")
    )
   (ede-proj-target-makefile-program "temp"
    :name "temp"
    :path ""
    :source '("temp.cpp")
    )
   )
  )

Теперь, когда я генерирую make-файл, используя ede-proj-Регенерат, он создает Make-файл, который генерирует main.o и temp.o

Make, однако, завершается неудачно, так как сгенерированный Makefile не идентифицирует зависимость main.cpp от temp.cpp. Как я могу сказать cedet EDE , чтобы определить эту зависимость? Что не так в том, что я здесь делаю?

И во-вторых, как мне сказать, что я не хочу main.o, поскольку это конечная целевая программа / исполняемый файл, а не объектный файл.

1 Ответ

0 голосов
/ 18 января 2012

Для вашего примера созданный Makefile должен создавать как main.o, так и main. Имя цели, которую вы создаете, должно быть именем вашей программы, поэтому, если вы изменили цель с именем "main" на "Pickle", она создаст main.o и программу Pickle.

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

Чтобы «все исправить», вы можете использовать команду customize-project, чтобы получить доступ ко всем другим опциям, которые обычно недоступны с помощью простых команд из собственно Emacs. Это позволит вам добавлять зависимости от библиотек, добавлять заголовки как aux src и другие полезные вещи. Просто прочитайте строки документа, связанные с различными параметрами.

Быстрый старт для EDE можно найти здесь .

...