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

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

于 2012-06-21T09:24:57.210 に答える