使用xbuild编译Visual C ++项目时限定目标(defining a target whe

2019-09-18 08:10发布

我有一个Visual C ++项目输出库,我想用xmake建立在Linux上。 我可以建造起来的MonoDevelop,但我希望能够通过命令行建立它。

如果我尝试建设项目中使用“xbuild”呼叫然后我得到以下错误:

....ItemMinerLibMono.cproj: error : Target named 'Build' not found in the project.

我从我需要在文件的csproj添加一个名为“构建”目标文件理解,但我不知道该怎么做。 我试图导入Microsoft.Common.targets文件是这样的:

<Import Project="$(MSBuildBinPath)\Microsoft.Common.targets" />

但后来我得到的错误:

: error : Target 'CreateManifestResourceNames', a dependency of target 'PrepareResources', not found.

没有任何人有任何想法如何成功编译从命令行一个C ++项目?

谢谢,格雷戈尔

Answer 1:

以下添加到您的MonoDevelop .cproj文件,它会建立与xbuild。

<Target Name="Build" DependsOnTargets="$(BuildDependsOn)" Outputs="$(TargetPath)"/>

有可能是一个简单的解决方案,但到目前为止,我还没有能够拿出一个。



Answer 2:

您需要导入目标CPP。

<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />

在Windows机器上有一个完整的Visual Studio安装,一些或所有这些可以在以下位置找到。 我没有在Linux下的任何版本测试过这些xbuild

VS2012: C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v110
VS2013: C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v120
VS2015: C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v140



文章来源: defining a target when compiling a visual c++ project using xbuild