Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Emacs 如何使ede cpp根项目与project.ede一起工作_Emacs_Cedet - Fatal编程技术网

Emacs 如何使ede cpp根项目与project.ede一起工作

Emacs 如何使ede cpp根项目与project.ede一起工作,emacs,cedet,Emacs,Cedet,看起来像是Project.ede只接受预定义的项目,它们是Arduino Sketch、Android、Automake和Make。我粘贴了ede cpp root项目,但在输入具有project.ede的项目根时,遇到了以下错误: eieio-persistent-read: Corrupt object on disk: Unknown saved object 以下是我粘贴到的ede cpp根项目: (ede-cpp-root-project "Coloring"

看起来像是
Project.ede
只接受预定义的项目,它们是
Arduino Sketch
Android
Automake
Make
。我粘贴了
ede cpp root项目
,但在输入具有
project.ede
的项目根时,遇到了以下错误:

eieio-persistent-read: Corrupt object on disk: Unknown saved object
以下是我粘贴到的ede cpp根项目:

(ede-cpp-root-project "Coloring"
                      :file "~/workspace/discrete_optimization/hw2/Project.ede"
                      :include-path '("/"
                                 "/include"
                                 "/include2"
                                 "/include3"))

我真的想为每个项目创建一个文件,而不是在一个集中的文件中。

使用
项目。ede
文件仅适用于Make或Automake的特定项目类型。虽然您可以手动输入,但应该使用
ede new
来创建它们。另外,如果您希望EDE为您创建makefile,则仅使用该类型的项目。您将收到“corrupt”消息,因为如果Emacs发现两种支持项目类型之外的任何内容,它将拒绝加载该文件

如果要使用
ede-cpp根项目
,可以创建任何像“
myproject.el
”这样的旧文件,并将
ede-cpp根项目
配置放入其中。那就做吧

M-x load-file RET /path/to/myproject.el

在需要时加载。

谢谢。但是为什么不可能包含其他项目类型呢?我认为如果Project.ede允许像
ede-cpp-root-Project
这样的自定义项目,那么它将非常有用。这样做会更方便,因为我们不必手动加载项目文件,这是一种非常简单(也就是说很容易)的方法来创建一个只用于导航/完成的项目。问题是,如果在编辑不同的文件(例如源代码)时从一个关键文件运行任意代码,然后,破解程序可以创建一个项目,您可以将其解压缩,打开一个源文件,然后Emacs会在未经您允许的情况下运行其代码块。但是,为什么EDE不允许其他属于EDE的简单项目类型,即
EDE cpp root project
或定义的其他项目类型?我认为,
Project.ede
只接受用于定义ede项目类型的Lisp代码(即,
ede-cpp根项目
…)应该是非常好的,因此我们不必担心恶意的ELisp代码。然后,人们总是可以在手工制作的Makefile中编写有害的shell命令,但我们仍然使用它。在ede cpp根项目中,目标是满足一组不想用类似project.ede的文件污染其项目的用户。而且,以前没有人问过。我的意图是用通用项目类型中的特性替换ede cpp根项目。我有一些更改,这些更改将使通用项目更加稳定/有用,从而开始更改,并且这些更改有一个项目配置文件。