【问题标题】:How do I use my own compiler with Nant?如何在 Nant 中使用我自己的编译器?
【发布时间】:2010-09-10 09:52:26
【问题描述】:

Nant 似乎非常以编译器为中心——猜测是因为它被认为是一个 .NET 开发系统。但我知道这是可以做到的!我已经看到了它。我们正在构建的平台有自己的编译器,并且不使用 c++ 的“cl.exe”。我们正在不同平台上构建 C++ 应用程序,并希望使用我们自己的编译器进行覆盖。谁能指出我这样做的方法,或者至少如何设置我自己的目标来使用我们目标平台的编译器?

【问题讨论】:

    标签: c++ build cross-platform makefile nant


    【解决方案1】:

    这是我为 Delphi 做的一个。每个 'arg' 都是一个单独的参数,其值在别处定义。在调用目标之前,使用设置的参数调用目标。

    <target name="build.application">
        <exec program="dcc32" basedir="${Delphi.Bin}" workingdir="${Application.Folder}" verbose="true">
            <arg value="${Application.Compiler.Directive}" />
            <arg value="-Q" />
            <arg value="/B" />
            <arg value="/E${Application.Output.Folder}" />
            <arg value="/U${Application.Lib.Folder};${Application.Search.Folder}" />
            <arg value="${Application.Folder}\${Delphi.Project}" />
        </exec>
    </target>
    

    【讨论】:

    • 不错的答案。我们为 Borland/CodeGear C++ 编译器做了同样的事情。我们几乎可以让 nant 使用正确的执行任务来运行您的洗碗机。 :)
    【解决方案2】:

    您需要编写自己的任务。 This 是一个很好的参考。

    【讨论】:

      【解决方案3】:

      最初,使用 任务运行可执行文件,将任何所需信息作为参数和/或环境变量传递。

      为了将来的使用,您还可以研究编写自己的任务。我知道使用标准 ant,这是通过 任务和 java 类完成的。不幸的是,我不确定 Nant 等价物。

      【讨论】:

        【解决方案4】:

        您也可以使用&lt;exec&gt; 任务。

        【讨论】:

          猜你喜欢
          • 2016-10-26
          • 1970-01-01
          • 1970-01-01
          • 2012-10-30
          • 1970-01-01
          • 2014-02-08
          • 1970-01-01
          • 2012-06-05
          • 1970-01-01
          相关资源
          最近更新 更多