莫斯科ML编译器的输出选项

时间:2016-04-30 09:43:49

标签: sml mosml

我正在使用.sml编译一些mosmlc.exe个文件。问题是.ui.uo输出文件放在我的输入.sml文件的同一目录中。我想做这样的事情:

mosmlc.exe -o out/ src/file1.sml src/file2.sml

这样输出文件将在out/文件夹中创建。但看起来-o选项用于不同的东西(根据documentation)。但是,如果我使用这样的选项运行,输出文件无论如何都会在与输入文件相同的目录中创建。

如何指定输出文件夹?没有关于此的文档,编译器没有列出编译器选项的帮助选项(非常烦人)。

来自源代码

通过检查编译器entry point's source code,我可以理解:

  1. 没有帮助选项列出所有选项和用法(太糟糕了,也许我应该考虑在他们的回购中提取更改来支持这个)
  2. 没有输出选项
  3. 所以,看起来我无法做到这一点......你能证实吗?

1 个答案:

答案 0 :(得分:3)

我认为没有任何解决方案。也许只是使用符号链接的解决方法,我不确定Windows提供:

mkdir out && \
cd out && \
ln -s ../*.{sml,sig} . && \
mosmlc -toplevel Hello.sml World.sml main.sml -o main && \
./main

这会在其中创建一个out目录cd,将所有.sig.sml源文件符号链接到该目录中并在那里执行编译。

很抱歉,我给了你一个Unix命令,但是我没有要测试的Windows机器。