【问题标题】:How to build the F# compiler from source如何从源代码构建 F# 编译器
【发布时间】:2021-11-12 14:46:30
【问题描述】:

recent announcement that the F# compiler source was available under the apache license 之后,我决定尝试从源代码构建编译器。但是,我在第一篇文章中失败了,因为似乎缺少一个文件“Microsoft.FSharp-proto.Targets”。这是否与“Microsoft F#, August 2010 Community Technology Preview” 中提供的“Microsoft.FSharp-proto.Targets”相同?构建编译器还需要哪些其他步骤。 F# 团队是否会提供一个“可以正常工作”的脚本来构建编译器?

【问题讨论】:

    标签: f#


    【解决方案1】:

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

    这些说明与 @desco 写的与之前 CTP 相关的说明略有不同。

    【讨论】:

    • 哇,你说得对。不知道我是怎么错过的。现在似乎可以工作了。
    【解决方案2】:

    在发布此公告之前不久,我写了一篇关于从 F# CTP (F#: Building compiler from sources.) 提供的源代码构建编译器的文章。希望从那时起没有任何改变。

    【讨论】:

    • 不幸的是,过程似乎发生了变化,我提到的缺失文件“Mircosoft.FSharp-proto.Targets”在 F# 发行版中不可用,名称类似“fsharp-proto-build.proj”可用。尚不确定这是否是同一件事。
    【解决方案3】:

    我刚刚下载并成功编译了 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。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      • 2015-04-27
      • 2015-01-21
      • 2018-02-26
      • 2021-02-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多