2013 年 10 月 26 日にgithubから最新の OpenCV ソース コードをダウンロードした後、CMake (cmake-gui 2.8.12) を実行して、最初にプロジェクトを「構成」し、次に「生成」しました。ビルド ディレクトリを生成すると、以下で始まる一連のエラーがスローされError in generation process, project files may be invalid
ます。
無視しても安全だと思う最初のグループは、次のようになります。
apps/haartraining/CMakeLists.txt の CMake 警告 (dev):
ポリシー CMP0022 が設定されていません: INTERFACE_LINK_LIBRARIES はリンク インターフェイスを定義します。ポリシーの詳細については、「cmake --help-policy CMP0022」を実行してください。cmake_policy コマンドを使用してポリシーを設定し、この警告を抑制します。静的ライブラリ ターゲット「opencv_haartraining_engine」には、
INTERFACE_LINK_LIBRARIES プロパティがあります。これは、このライブラリのリンク インターフェイスのソースとして優先する必要があります。プロパティを無視し、代わりにリンク実装をリンク インターフェイスとして使用します。この警告は、プロジェクト開発者向けです。-Wno-dev を使用して抑制します。
しかし、エラーの最後のリストはもっと心配です。これは何?それらに基づいて行動する必要がありますか?どうすれば修正できますか?
CMake エラー: install(EXPORT "OpenCVModules") に絶対宛先 "/lib" が指定されていますが、エクスポートは、相対宛先 "lib" を持つターゲット "opencv_core" のインストールを参照しています。
CMake エラー: install(EXPORT "OpenCVModules") に絶対宛先 "/lib" が指定されていますが、エクスポートは、相対宛先 "bin" を持つターゲット "opencv_core" のインストールを参照しています。
CMake エラー: install(EXPORT "OpenCVModules") に絶対宛先 "/lib" が指定されていますが、エクスポートは、相対宛先 "lib" を持つターゲット "opencv_flann" のインストールを参照しています。
CMake エラー: install(EXPORT "OpenCVModules") に絶対宛先 "/lib" が指定されていますが、エクスポートは、相対宛先 "bin" を持つターゲット "opencv_flann" のインストールを参照しています。
[...]
CMake エラー: install(EXPORT "OpenCVModules") に絶対宛先 "/lib" が指定されていますが、エクスポートは、相対宛先 "lib" を持つターゲット "opencv_videostab" のインストールを参照しています。
CMake エラー: install(EXPORT "OpenCVModules") に絶対宛先 "/lib" が指定されていますが、エクスポートは、相対宛先 "bin" を持つターゲット "opencv_videostab" のインストールを参照しています。
==========編集===========
ここでの問題はCMAKE_USE_RELATIVE_PATHS
、リリース 2.4.6 のコードで CMake を実行すると存在する CMake の値が、最新のコードで CMake を実行すると存在しないことでしょうか。もしそうなら、修正は何ですか?