2017-01-04 35 views
2

私は特定の問題に直面しており、アドバイスやデバッグ方法が必要です。デバッグCMakeプロジェクト作成

ソースからAllegroライブラリをビルドします。Windows 10、CMake、Visual Studio 2015ビルドツール(msbuild)。

出典:https://github.com/liballeg/allegro5

の問題は、私が実行したときに `cmakeの--build」私は、v100ツールセットがインストールされていないというエラーが出ていますが、2010年ではなくVisual Studio 2015用です。ソリューションを開くか、msbuildを直接実行すると、完全にうまく構築されます。

問題を見るのに役立つCMakeをデバッグする方法はありますか?

mkdir _build 
pushd _build 
cmake.exe .. 
cmake --build . 
popd 

エラー:

"C:\Users\matthew\repos\allegro5_build\ALL_BUILD.vcxproj" (default target) (1) -> "C:\Users\matthew\repos\allegro5_build\ZERO_CHECK.vcxproj" (default target) (2) -> (PlatformPrepareForBuild target) -> C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.Cpp.Platform.targets(55,5): error MSB8020: The build tools for Visual Studio 2010 (Platform Toolset = 'v100') cannot be found. To build using the v100 build tools, please install Visual Studio 2010 build tools. Alternatively, you may upgrade to the current Visual Studio tools by selecting the Project menu or right-click the solution, and then selecting "Retarget solution". [C:\Users\matthew\repos\allegro5 _build\ZERO_CHECK.vcxproj]

ワーキングコマンド:

mkdir _build 
pushd _build 
cmake.exe .. 
msbuild ALLEGRO.sln 
popd 

私ものようなコマンドでのVisual Studio 2015にそれを強制しようとしたコマンドを失敗

cmake.exe -G "Visual Studio 14" .. 

注:私はCMakeのと私自身の小さなプロジェクトを構築してきましたし、それが正しくCMakeのを使用してビルドそれはアレグロのcmakeのビルドで狂った何かのように思える私に

を--build。 v100とMSVC_2010への参照を試してみるためにソースを検索しましたが、心配するものは何も見つかりませんでした。 ExternalProject_Addにallegroを含めたいので、MSBuildを回避策として直接使用したくないし、cmake --buildで構築するのと同じ理由で失敗する。

どうすればこの問題を解決できますか?

+0

[Debugging CMakeLists.txt](http://stackoverflow.com/questions/22803607/debugging-cmakelists-txt) ) – usr1234567

+0

助けてくれる人がいるかもしれません:http://stackoverflow.com/a/38869455/2799037 – usr1234567

+0

アレグロがv100ツールを参照していると確信している場合(なぜそうしますか?)、「ExternalProject_Add」アプローチに進み、アレグロcmakeファイル。私は、https://crascit.com/2016/10/18/test-fixtures-with-cmake-ctest/が外部プロジェクト機能を使用するクリーンな方法であることを発見しました。 – NameRakes

答えて

1

私は別のライブラリ(Zipper、minizipの周りのC++ラッパー)で同様の問題がありました。特にCMakeとExternalProject_Addも使用していました。正確に同じエラーです。私はこの問題を研究するのに多くの時間を費やしました。 Gyp(「既知の問題」のセクションを参照)を使用して、別のプロジェクトで同様の問題が発生しました。私にとっては、インストールターゲットの間にエラーが発生していました。

BUILD_COMMAND ${CMAKE_COMMAND} --build . --config Release --target install INSTALL_COMMAND ""

BUILD_COMMAND ${CMAKE_COMMAND} --build . --config Release

を変更すると、問題を修正しました。問題が何であるか分かりません。これは、デフォルトのインストールコマンドCMakeがExternalProjectで間違ったツールセットを何とか選択しているようです...

+0

この情報をありがとう!これは私の問題を解決しませんでした。なぜなら、それはインストールステップではなくビルドステップであるからです。しかし、これは、CMake、Visual Studio 2015、および/またはWindows 10でのビルドに問題があることを指しています。 同じ問題を抱える別のグループ:https://github.com/nodejs/node-gyp/issues/679 – MrD

関連する問題