OpenCVをVisual Studio2019でビルドするときに起きた現象のメモ。
CMakeでVS2019のプロジェクトを作成してビルド、
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(241,5): error MSB6001: "cmd.exe" のコマンド ライン スイッチが無効です。
となる場合、
https://docs.microsoft.com/en-us/visualstudio/msbuild/errors/msb6001?view=vs-2019
によると、(Google翻訳)
このエラーは、MSBuildタスクに無効なコマンドラインオプションが指定された場合に発生します。問題の詳細については、2番目のエラーを参照してください。
一般的な原因は次のとおりです。
- パス内の不正な文字。引用符の配置をチェックして、不適切に使用されていないことを確認します。
- スイッチの構文のスペルミス
- 使用しているツールのバージョンは、そのスイッチをサポートしていません
とある。
CMakeで設定しているどこかのパラメータがおかしいので、基本的にはCMakeLists.txtなどを修正する必要がある。
ただ、エラーの起きている個所によりそうだが、ビルドを繰り返すだけでビルドに成功する場合がある。
OpenCVは数回ビルドするだけでビルドできるようになったが、どんな設定でビルドされたのかよくわからないのできちんと修正した方が良いのだろう。