Próbowałem skonfigurować projekt EDE dla C++ (emacs24 + wbudowany CEDET) i zaczynam być zdesperowany, ponieważ nie mogę znaleźć sposobu, w jaki chcę pliki makefiles do wygenerowania. Jestem stosunkowo nowy w Emacs. postaram się opisać to, co robię:Jak utworzyć projekt EDE dla C++
Mam projekt zabawki ustawione tak:
main.cpp
other/
Utils.cpp
Utils.h
CGrabBuffer.cpp
CGrabBuffer.h
main.cpp obejmuje zarówno .h jest wewnątrz katalogu „/” innej. Są to kroki śledzę założyć projekt EDE z tej prostej konfiguracji katalogu:
- Otwórz main.cpp w emacs i zrobić
M-x ede-new
; typ:Make
; imię i nazwisko:main-proj
. - Otwórz jeden z plików w katalogu "other" i wykonaj
M-x ede-new
; typ:Make
; imię i nazwisko:aux-proj
. - Teraz nadszedł czas, aby utworzyć cele (które moim zdaniem są trzy w tym przypadku):
- W buforze main.cpp:
M-x ede-new-target
; nazwa:main
; typ:program
. Po wyświetleniu monitu dodaję plik main.cpp do tego obiektu docelowego. - Powtarzam to samo dla dwóch pozostałych celów (Utils z Utils.cpp i Utils.h oraz CGrabBuffer z CGrabBuffer.cpp i CGrabBuffer.h). Tutaj znajduję pierwszy problem. Jakiego rodzaju muszą być te dwa cele? Chcę tylko, żeby generowały pliki .o.
- W buforze main.cpp:
- Gdy to nastąpi, wpisuję
M-x ede-customize-current-target
do wszystkich trzech celów i dodaję niektóre zawierają ścieżek, niektóre biblioteki itd - Po tym, jeśli zadzwonię
M-x ede-compile-project
nie skompilować, ponieważ:- Najpierw próbuje skompilować plik main.cpp; Nie mam pojęcia, jak określić (przy użyciu EDE), że zarówno Utils.o, jak i CGrabBuffer.o są potrzebne przed przystąpieniem do budowania main.cpp.
- Jeśli ręcznie zmieniam kolejność (edytując plik Makefile), nie można połączyć pliku main.cpp, ponieważ nie można znaleźć plików Utils.o i CGrabBuffer.o.
Jak widać, jestem w środku wielkiego bałaganu. Może nawet nie rozumiem, co oznacza "cel" w EDE. Przeczytałem także o istnieniu projektu ede-cpp-root, który musi zostać określony w pliku .emacs. Nie próbowałem tego, ponieważ myślę, że to tylko pomaga w semantykach. Nie generuje plików Makefiles, prawda? Czy mogę mieć (lub potrzebuję) projekt EDE zbudowany z Project.el's i to samo, używając ede-cpp-root-projektu dla semantyki? Czy jest to zbędne?
Przepraszam, jeśli źle zrozumiałem wiele rzeczy, ale jestem bardzo zdezorientowany, a bycie nowym dla emacs pogarsza sprawę. Dziękuję za cierpliwość!
EDYCJA: z niektórymi majsterkowania i odpowiedzi, które otrzymałem, udało mi się wymyślić wiele rzeczy, więc wielkie dzięki. To, czego wciąż nie rozumiem, to wykorzystanie projektu ede-cpp-root, który musi zostać określony w pliku .emacs. Czy jest to tylko dla semantyki C++? Czy zbędne jest posiadanie projektu z Okładkami Project.el ORAZ również linie elisp w .emacs?
Używam CEDET, ale nie mogę zrozumieć wsparcia projektu dla mojego życia. Korzystam tylko z zewnętrznych plików Makefile i dodam typ projektu "prosty". –
Tak, i to jest jedyna rzecz, która sprawia, że trzymam się innych IDE, takich jak Eclipse, które pozwalają ci łatwiej zarządzać tymi rzeczami ... – pparescasellas
Świetne pytanie. Spędziłem ostatnie kilka dni próbując zrobić coś takiego, ale gdy tylko wydaje mi się, że gdzieś się dostaję, wszystko się rozpada. Mówienie, że EDE jest słabo udokumentowane, jest niedopowiedzeniem. – Mike