1

在 msbuild/xbuild 中,我想要一个“libPath”属性,可以在命令行上使用/p:libpath="/path/to/all/libs". 但是,当此属性未定义时,我想调用pkg-config --retrieve-Path somePackage以获取当前系统路径。

我想在这里我需要将命令的输出存储在属性中。
该命令总是返回一行输出。

我尝试过类似的东西

<PropertyGroup>
  <LibPath />
</PropertyGroup>

<Task ....>
  <Exec Command="pkg-config --retrieve-Path somePackage"
        Condition="$(LibPath)' == ''">
   <OutputTaskParameter="output"
          PropertyName="LibPath" />
  </Exec>
</Task>

但这没有用。

4

1 回答 1

1

您无法使用 exec 执行此操作,因为 Exec 任务无法从它运行的工具或命令收集输出。

您必须编写一个调用 pkg-config 的自定义 msbuild 任务并将此输出收集到一个属性中。

于 2010-04-21T06:46:52.913 回答