问题 如何从源构建F#编译器


之后 最近宣布F#编译器源在apache许可下可用 我决定要从源代码构建编译器。但是,由于似乎缺少文件“Microsoft.FSharp-proto.Targets”,我在第一篇文章中失败了。这是否与“Microsoft.FSharp-proto.Targets”相同 “Microsoft F#,2010年8月社区技术预览”?构建编译器还需要哪些其他步骤。 F#团队是否会提供一个“正常工作”来构建编译器的脚本?


8803
2017-11-05 08:51


起源



答案:


我还没有运行这些(PC配置问题?),但是在源代码分发中有一组详细的说明 compiler/2.0/Nov2010/README.html

这些指令与@desco编写的与前一个CTP相关的指令略有不同。


6
2017-11-05 10:35



哇,你是对的。不知道我是怎么错过的。似乎现在正在工作。 - Robert


答案:


我还没有运行这些(PC配置问题?),但是在源代码分发中有一组详细的说明 compiler/2.0/Nov2010/README.html

这些指令与@desco编写的与前一个CTP相关的指令略有不同。


6
2017-11-05 10:35



哇,你是对的。不知道我是怎么错过的。似乎现在正在工作。 - Robert


就在不久之前,我已经写过关于使用F#CTP提供的源代码构建编译器(F#:从源代码构建编译器。)。希望从那时起没有任何改变。


3
2017-11-05 08:54



不幸的是,这个过程似乎发生了变化,我提到的丢失文件“Mircosoft.FSharp-proto.Targets”在F#distrib中不可用,类似命名的“fsharp-proto-build.proj”可用。还不确定这是不是一回事。 - Robert


我刚刚下载并成功编译了F#,所以我想我会添加一个更新。

  1. 我是从下载的 http://fsharppowerpack.codeplex.com/SourceControl/list/changesets
  2. 我解压缩了文件并导航到了 fsharppowerpack-66272\compiler\2.0\Aug2011
  3. 它包含一个 readme.html 这表明有很多方法可以建立。
  4. 有了这个自述文件,我制作了以下脚本,为我成功编译了F#。

如果要编译单元测试,请先安装NUnit。

set MSB40=C:\Windows\Microsoft.NET\Framework\v4.0.30319\
set Path=%Path%;%MSB40%
cd src
msbuild fsharp-proto-build.proj /p:TargetFramework=cli\4.0
ngen install ..\Proto\cli\4.0\bin\fsc-proto.exe
msbuild fsharp-library-build.proj /p:TargetFramework=cli\4.0
msbuild fsharp-compiler-build.proj /p:TargetFramework=cli\4.0
msbuild fsharp-library-unittests-build.proj /p:TargetFramework=cli\4.0
msbuild fsharp-compiler-unittests-build.proj /p:TargetFramework=cli\4.0
ngen install ..\Debug\cli\4.0\bin\fsi.exe
pause

Note: 我已经安装了VS2010和FSharpPowerPack。


2
2017-12-27 01:14