在Mac上构建F#.fsproj(Mono)

时间:2011-11-21 20:27:00

标签: macos f# build mono projects-and-solutions

我在Windows上开发的F#项目中有一个.fsproj(和.sln),我想在Mac上构建。

我用Mono构建了几个单源文件F#程序,这很棒。不幸的是,这个.fsproj并不重要,因为有几个源文件和许多引用。

设计命令行来手动构建项目看起来并不好玩。

是否有工具可以分析.sln / .fsproj并提供正确的命令行?或者也许只是从.sln / .fsproj构建?

如果可能的话,我想在没有MonoDevelop或SharpDevelop的情况下这样做,尽管这些方面的答案是受欢迎的。

2 个答案:

答案 0 :(得分:3)

这是我使用的简单makefile

FSC=/home/john/FSharp-2.0.0.0/bin/fsc.exe
FSFILES= tokenizer.fs BuildTree.fs symtable.fs mkVMCommands.fs codegen.fs
compiler: compiler.exe

compiler.exe: $(FSFILES)
    $(FSC) --define:LINUX --debug:full --debug+ $(FSFILES) -o:compiler.exe --sig:sigfile.fs

run: compiler
    mono compiler.exe

请注意,每个目标之后的行 - compiler.exe:...需要缩进TAB而不是空格。如果您需要reerences,只需将-r "Somefile.dll"添加到命令行。

答案 1 :(得分:2)

您可能需要查看直接阅读slnfsproj文件的xbuild,并在Mono平台上构建它们。

正如评论中提到的@JPW,它也是works on Mac OS X。虽然xbuild的F#支持似乎不成熟,但有人设法build F# projects with xbuild on Linux。希望您在Mac上设置构建环境很有帮助。