我有一个可视化的c + +项目,输出一个库,我想用xmake在Linux上构build它。 我可以在monodevelop中构build它,但我希望能够从命令行构build它。
如果我尝试使用“xbuild”调用构build项目,那么我得到以下错误:
....ItemMinerLibMono.cproj: error : Target named 'Build' not found in the project.
我从文档中了解到,我需要在csproj文件中添加一个名为“Build”的Target,但是我不知道该怎么做。 我试过像这样导入Microsoft.Common.targets文件:
<Import Project="$(MSBuildBinPath)\Microsoft.Common.targets" />
但后来我得到的错误:
: error : Target 'CreateManifestResourceNames', a dependency of target 'PrepareResources', not found.
有没有人有任何想法如何成功地从命令行编译一个c + +项目?
谢谢,格雷戈尔
将以下内容添加到MonoDevelop的.cproj文件中,并使用xbuild构建。
<Target Name="Build" DependsOnTargets="$(BuildDependsOn)" Outputs="$(TargetPath)"/>
可能有一个更简单的解决方案,但到目前为止,我还没有能够拿出一个。
你需要导入Cpp目标。
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
在具有完整Visual Studio安装的Windows计算机上,可以在以下位置找到部分或全部这些设备。 我没有使用xbuild
在任何版本的Linux下测试它们:
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