web-dev-qa-db-ja.com

CMake VTK_DIR-NOTFOUND

VTK_DIR-CMakeを使用するとNOTFOUNDが返されます。私はCMakeGUIを使用していますが、他のパスエラーとして、適切なパスを指定できます。ただし、VTKは機能しません。 VTConfig.cmakeファイルなどがあるディレクトリを指しています。他のすべてのVTKdirでも試しましたが、成功しませんでした。 Visual Studio 12 2013 Win 64構成を生成に使用していますが、2010でも試してみました。

enter image description here

パスを手動でポイントし、

enter image description here

13
Jaume

最初に確認するのは、エラーが発生した場所で呼び出されている実際のfind_package()コマンドは何ですか?おそらく、その呼び出しは少し変わっているか、明示的にMODULEキーワードがあります(これにより、_VTKConfig.cmake_ファイルが見つかりません)。

それで問題ないように見える場合は、何かがVTK_DIR変数を変更していないかどうかを確認してください。最上位のCMakeLists.txtファイルの上部に次を挿入します。

_variable_watch(VTK_DIR)
_

これは、もしあれば、あなたが予期していなかった方法でそれを変更していることを教えてくれるはずです。

VTK_DIRが実際に変更されていないと仮定すると、次に試すことができるのは、_CMAKE_PREFIX_PATH_ファイルを含むディレクトリに_VTKConfig.cmake_を設定することです(まだ存在しない場合は、CMake GUIでこれを追加できます)。何かが内部的に予期せぬ変更を加えている場合に備えて、variable_watch(CMAKE_PREFIX_PATH)も試してみてください。

それでも何も表示されない場合は、CMakeまたはVTKのインストールに問題がある可能性があります。おそらく、以前のCMakeバージョンを試して、別の動作が得られるかどうかを確認してください。

6
Craig Scott

現在受け入れられている回答はデバッグの良い方法ですが、unancyowenのバイナリを使用してPoint Cloud Library(PCL)を構築しているようです。その場合、 システム環境変数が正しく設定されている を確認することをお勧めします。これにより、現在実行しているプロセスが自動化され、find_package()メソッドの作業が容易になります。すべてを同じディレクトリ(つまり、FLANNとEigenにすでにリンクしている場所)にインストールしたとすると、次のデフォルトのPCLサードパーティライブラリをパスに追加する必要があります。

C:\ Program Files\PCL 1.7.2\3rdParty\FLANN\bin

C:\ Program Files\PCL 1.7.2\3rdParty\VTK\bin

C:\ Program Files\PCL 1.7.2\3rdParty\Eigen

C:\ Program Files\PCL 1.7.2\3rdParty\Boost

次に、別々にインストールされているQt、OpenNIなど。

また、次を追加することもできます。

BOOST_INCLUDEDIR:C:\ Program Files\PCL 1.7.2\3rdParty\Boost\include\boost-X_XX\boost(X_XXをバージョン番号に置き換えます)

BOOST_LIBRARYDIR:C:\ Program Files\PCL 1.7.2\3rdParty\Boost\lib

BOOST_ROOT:C:\ Program Files\PCL 1.7.2\3rdParty\Boost

EIGEN_ROOT:C:\ Program Files\PCL 1.7.2\3rdParty\Eigen

3
Seb Andraos

それが示している分野で

VTK-DIR:見つかりません

場所をコピーして貼り付けるか、入力するか、VTKConfig.cmakeというファイルを参照することができます。通常、VTKのビルドフォルダー内にあります。これが私の場合の解決方法です。ぜひお試しください!

0
dmrpushkar