ScalaMacros和Eclipse

时间:2012-05-16 15:56:48

标签: macros scala-ide scala-2.10

我试图在Eclipse 3.7.2中编译一个(Scala)宏,Scala IDE插件可用于Scala 2.10.0-M3,但我遇到以下错误:

“未找到宏实现:XXXXX(最常见的原因是您不能在定义它们的同一编译运行中使用宏实现),如果您确实需要定义宏实现以及其余的程序,考虑在第二阶段使用-Xmacro-fallback-classpath进行两阶段编译,指向第一阶段的输出“

我已经知道如何使用简单的编辑器和终端来避免它(只是跟随错误信息),但是可以在Eclipse中实现双阶段任务吗?

3 个答案:

答案 0 :(得分:9)

如何创建链接到现有项目的宏项目:

  • 创建一个名为ProjectMacros的scala项目,并在其中放置一个名为Macros.scala的文件,其中包含宏。这个项目应该没有问题编译,因为只有宏。
  • 右键单击现有的scala项目,然后单击“属性”。 “属性”窗口将打开。
  • Java Build Path部分:
    • 在标签Projects下,添加ProjectMacros
    • 在标签Libraries下,点击Add Class Folder,然后选择ProjectMacros/bin目录。
  • Project References部分,选中ProjectMacros

现在,在现有项目中添加import Macros._之类的导入后,您可以使用宏功能和注释。

答案 1 :(得分:3)

好吧,在两个不同的项目中分离宏实现和宏调用(并使用项目引用)似乎解决了这个问题。无论如何,Scala-IDE插件的Scala 2.10-M4版本(在宏支持方面)得到了显着改进,所以我建议更新它。

答案 2 :(得分:1)

你可能会使用Ant进行构建,但是因为你说你已经通过终端实现了这一点,我认为创建脚本会更容易,并使用自定义构建器运行它(转到项目属性,单击构建器 - >新... - >编程然后将其设置为运行脚本。