2016-01-31 3 views
9

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

enter image description here

手動でパスを指して、

enter image description here

+0

あなたは何をしているのか、よく見えます。ちょうど確かめてください: 'lib/cmake/vtk-6.2'の' ConfigVTK.cmake'はありますか?あなたのCMakeのバージョンは何ですか? – usr1234567

+0

CMakeバージョン3.4.3。このディレクトリには、cmakeファイルがVTKConfig.cmakeとして含まれていますが、あなたが提案したようにConfigVTK.cmakeは含まれていません... – Jaume

+0

申し訳ありません、私はVTKConfig.cmakeを意味しました。私は見当もつかない。たぶん、デバッグモードで実行し、何が起こるかを確認します。いくつかのCMakeコードを読んで比較してください。 – usr1234567

答えて

4

私がチェックする最初の事は、エラーが発生した場所を実際find_package()コマンドが呼び出されて何ですか?おそらく、その呼び出しは少し珍しいか明示的にMODULEキーワードを持っています(これはVTKConfig.cmakeファイルが見つからないようにします)。

もしそれが見えたら、何かがVTK_DIR変数を変更しているかどうかを確認してください。何でも、あなたが期待していなかった方法でそれを変更している場合、これは、あなたに何を教えてください

variable_watch(VTK_DIR) 

:あなたの最上位CMakeLists.txtファイルの先頭付近、以下を挿入します。

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

まだ何も表示されない場合は、CMakeまたはVTKのいずれかのインストールに問題があるようです。おそらく、以前のCMakeのバージョンを試してみてください。

+0

どうすればvarable_watchを逃すことができますか?私の現在のアプローチ - printfデバッグと比較して、そのような劣ったツール。 – usr1234567

2

現在受け入れ答えは、デバッグの良い方法ですが、あなたがunancyowenからバイナリでポイントクラウドライブラリ(PCL)を構築しているように、それが見えます。その場合は、現在進行中のプロセスを自動化し、find_package()メソッドの作業を容易にするsystem environment variables are setup correctlyを確認することをお勧めします。 同じディレクトリにすべてのものがインストールされていると仮定すると(つまり、既にFLANNとEigenにリンクしている場所)、Pathに次のデフォルトPCLサードパーティライブラリを追加する必要があります。

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

C:\プログラムファイル\ PCL 1.7.2 3rdParty \ VTK \ビン\

C:\プログラムファイル\ PCL 1.7.2 3rdParty \ \固有

はC:\ Programファイル\ PCL 1.7.2 \ 3rdParty \ Boost

T hen Qt、OpenNIなどがあります。

そして、あなたはまた、追加することができます。

BOOST_INCLUDEDIRします。C:\ Program Files \ PCL 1.7.2 3rdParty \ブースト\ \ \ブーストX_XX \ブースト(バージョン番号とX_XXを交換してください)

が含まれますBOOST_LIBRARYDIR:C:\ Program Files \ PCL 1.7。2 \ 3rdParty \ブースト\ libに

BOOST_ROOTします。C:\ Program Files \ PCL 1.7.2 3rdParty \ \ブースト

EIGEN_ROOTします。C:\ Program Files \ PCL 1.7.2 3rdParty \ \固有