ppa*_*las 7 c++ emacs cedet emacs-semantic
我一直在尝试为C++设置一个EDE项目(emacs24 +内置CEDET),我开始变得绝望,因为我似乎无法找到我希望生成makefile的方式.我对Emacs比较陌生.我会试着描述一下我在做什么:
我有一个像这样的玩具项目:
main.cpp
other/
Utils.cpp
Utils.h
CGrabBuffer.cpp
CGrabBuffer.h
Run Code Online (Sandbox Code Playgroud)
main.cpp在"other /"目录中包含.h's.以下是使用此简单目录设置设置EDE项目的步骤:
M-x ede-new; 类型:Make; 姓名:main-proj.M-x ede-new; 类型:Make; 姓名:aux-proj.M-x ede-new-target; 名称:main; 类型:program.出现提示时,我将main.cpp添加到此目标.M-x ede-customize-current-target所有三个目标,然后添加一些包含路径,一些库等.M-x ede-compile-project它不会编译,因为:
正如你所看到的,我正处于一团糟之中.也许我甚至不理解EDE中"目标"的含义.我还读到了ede-cpp-root-project的存在,它必须在.emacs文件中指定.我没有尝试过,因为我认为它只是帮助语义.它不会生成Makefile,是吗?我是否可以(或者我需要)使用Project.el构建的EDE项目和使用ede-cpp-root-project进行语义相同的事情?还是多余的?
抱歉,如果我误解了很多东西,但我很困惑,对emacs不熟悉会让事情变得更糟.谢谢你的耐心!
编辑:通过一些修补和我收到的回复,我已经能够找出很多东西,所以非常感谢.我还不明白的是使用ede-cpp-root-project,它必须在.emacs文件中指定.它只是用于c ++语义吗?使用Project.el的项目和.emacs中的elisp行是否是多余的?
EDE旨在处理许多不同类型的项目,通常是一种类型,其中构建系统是在Emacs之外的其他工具中编写的.
为您创建Makefile的EDE项目类型可以做很多事情,但是您需要对构建系统有一些基本的了解才能使它有用,而且您确实需要自定义项目以使任何复杂的工作都能正常工作.
我最近在EDE手册中添加了一个部分,以帮助自动生成Automake文件的基本项目设置.你可以在这里查看教程:
http://www.randomsample.de/cedetdocs/ede/ede/Quick-Start.html
相同的步骤将适用于仅使用Make的项目,但由于额外的复杂性,基于Make的项目通常会遇到共享库的问题.
迈克的答案非常好,但我认为只需将.h文件添加到与.cpp源相同的目标即可.它将分别跟踪它们.
另一个有用的技巧是使用整个项目编译键击(Cc.C),每当你改变一些大的东西时它使用大写C. 这将重新生成Makefile,重新运行任何所需的Automake功能,并从顶部开始.
编辑:您只需要一个给项目区域的EDE项目.当没有其他自动项目类型工作时,ede-cpp-root项目很有用.那是在你的.emacs文件中创建它时,以便需要项目定义的其他工具,如语义的智能完成和标记查找,将起作用.
| 归档时间: |
|
| 查看次数: |
4488 次 |
| 最近记录: |