2017-08-10 3 views
0

私はubuntu 14.04を使っています。私は正常にvtk8.0.0をインストールしました。opencvはvtk_onで作ることができません

今、vtkを使ってopencv2.4.13.2をビルドします。

常にエラーがあります。下記を参照してください。

In file included from /usr/local/include/vtk-8.0/vtkGenericDataArray.h:72:0, 
       from /usr/local/include/vtk-8.0/vtkAOSDataArrayTemplate.h:35, 
       from /usr/local/include/vtk-8.0/vtkIntArray.h:33, 
       from /usr/local/include/vtk-8.0/vtkCellTypes.h:42, 
       from /usr/local/include/vtk-8.0/vtkPolyData.h:64, 
       from /usr/local/include/vtk-8.0/vtkPolyDataAlgorithm.h:36, 
       from /usr/local/include/vtk-8.0/vtkAppendPolyData.h:35, 
       from /home/suyz/Install/opencv/opencv-2.4.13.2/modules/viz/src/precomp.hpp:56, 
       from /home/suyz/Install/opencv/release/modules/viz/opencv_viz_pch_dephelp.cxx:1: 
/usr/local/include/vtk-8.0/vtkGenericDataArrayLookupHelper.h:72:5: warning: identifier ‘nullptr’ is a keyword in C++11 [-Wc++0x-compat] 
    : AssociatedArray{nullptr}, SortedArray(nullptr), 
    ^
/usr/local/include/vtk-8.0/vtkGenericDataArrayLookupHelper.h: In constructor ‘vtkGenericDataArrayLookupHelper<ArrayTypeT>::vtkGenericDataArrayLookupHelper()’: 
/usr/local/include/vtk-8.0/vtkGenericDataArrayLookupHelper.h:72:7: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11 [enabled by default] 
    : AssociatedArray{nullptr}, SortedArray(nullptr), 
    ^
/usr/local/include/vtk-8.0/vtkGenericDataArrayLookupHelper.h:72:23: error: ‘nullptr’ was not declared in this scope 
    : AssociatedArray{nullptr}, SortedArray(nullptr), 
        ^
/usr/local/include/vtk-8.0/vtkGenericDataArrayLookupHelper.h:73:5: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11 [enabled by default] 
    FirstValue{nullptr}, SortedArraySize{0} 
    ^
/usr/local/include/vtk-8.0/vtkGenericDataArrayLookupHelper.h:73:26: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11 [enabled by default] 
    FirstValue{nullptr}, SortedArraySize{0} 
         ^
make[2]: *** [modules/viz/CMakeFiles/opencv_viz_pch_dephelp.dir/opencv_viz_pch_dephelp.cxx.o] Error 1 
make[1]: *** [modules/viz/CMakeFiles/opencv_viz_pch_dephelp.dir/all] Error 2 
make[1]: *** Waiting for unfinished jobs.... 

誰かがこれを解決する方法を持っていますか?どうもありがとう!

答えて

0

VTK 8.0以降では、C++ 11コンパイラが必要です(nullptrはC++ 11の機能です)。あらかじめ構築されたVTKをインストールしましたか?もしそうなら、あなたはGCC 4.8以降を使用していることを確認し、C++のフラグが-std=c++11を含めることを確認します(エラーが消えるかどうかを確認するためにあなたのOpenCVのビルドにCMakeCache.txtCMAKE_CXX_FLAGSエントリにそれを追加してみてください。

+0

私はVTKを建てます私はC++コンパイラを持っていると思いますが、デフォルトでは使用されません。どのようにしてCMakeCache.txtに追加できますか? //すべてのビルドタイプでコンパイラが使用するフラグ CMAKE_CXX_FLAGS:STRING = "-std = C++ 11" – Yongzhi

+0

このエラーは解消されている可能性がありますが、CUDAで問題が発生している可能性があります。[29%] NVCC(Device)オブジェクトの作成 /usr/lib/gcc/x86_64-linux-gnu /4.8/include/stddef.h(432):エラー:識別子 "nullptr"が定義されていません CUDA8はそうではないようですC++ 11と互換性がありますか?たとえ私がCUDA_SEPARABLE_COMPILATIONをアクティブにしても。 – Yongzhi

+0

私はOpenCVのcudaサポートに精通していません。ごめんなさい。 – Drone2537

関連する問題