3

我有一个输出库的可视 c++ 项目,我想使用 xmake 在 Linux 上构建它。我可以在 monodevelop 中构建它,但我希望能够从命令行构建它。

如果我尝试使用“xbuild”调用构建项目,则会收到以下错误:

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

我从文档中了解到我需要在 csproj 文件中添加一个名为“Build”的目标,但我不知道该怎么做。我尝试像这样导入 Microsoft.Common.targets 文件:

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

但后来我得到了错误:

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

有人知道如何从命令行成功编译 c++ 项目吗?

谢谢,格雷戈尔

4

2 回答 2

2

将以下内容添加到 MonoDevelop 的 .cproj 文件中,它将使用 xbuild 构建。

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

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

于 2014-06-12T18:13:03.933 回答
1

您需要导入 Cpp 目标。

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

在具有完整 Visual Studio 安装的 Windows 计算机上,可以在以下位置找到其中的部分或全部。我没有在任何版本的 Linux 下测试过这些xbuild

VS2012C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v110
VS2013C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v120
VS2015C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v140

于 2012-06-21T09:24:57.210 回答