tx 2コンパイルOpenCV 3.4.0

2758 ワード

この記事を参考にopencv 3.3.30教程をインストールします。http://blog.csdn.net/Function_K/articale/detail/77899546
opencv公式文書:https://docs.opencv.org/3.2.0/d6/d15/tutorial_ブリールディング.テクラ.キュダ.
発生したエラー:
(1)メーク時にエラーが発生しました。cmake Errer:camle_symlink_library:System Error:Operation not permitted
インターネットで調べてみましたが、エラーの原因は私がOopencvをメモリカードにインストールしました。解決方法は二つあります。
1)opencvをホームディレクトリに移しましたが、この方法は試したことがありません。tx 2のメモリが足りなくて、言っても本当に悲しいです。
2)メモリカードをext 3/ext 4形式にフォーマットします。
      コマンドでフォーマットしていません。直接メモリカードを右クリックして、Format Volumeを選択して、typeの欄で3番目のオプションを選択します。
その後、元の経路の下で、改めてmakeを間違えないようにします。
 
----------------------私は萌えの分割線--------------------------------------------------------------------------------------------------------------------------
前にopencv 3.4を取り付ける時python 3を選んで、今使う時GGについて、そこでまた再びコンパイルして、万能なピット、本当にどこにもいません。
cmakeの場合は、以下のコマンドを実行します。
cmake -D BUILD_opencv_python3=YES -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local  -D PYTHON3_LIBRARIES=/usr/lib/aarch-linux-gnu/libpython3.5m.so -D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3.5/site-packages/numpy/core/include/ ..

私はcmake-guiでコンパイルしました。
cmake-guiの取り付け方法:
ターミナル入力
sudo apt-get install cmake-qt-gui 
使用時に端末に入力する
$ cmake-gui
ソースの位置を選択します。つまりOpenCVフォルダです。
コンパイルの位置:~/opencv 3.4/build
1.configure
2.チェックオプション
3.configure
4.ゲナート
Err:
CMake Files/example_gpudriver_api_multi.dir/driver_api_multi.cpp.o:Infunction`destroyContects()':
driver_api_multi.cpp:(.text._Z15 destroyContectv+0 xc):undefined referenceto`cuCtxDestroy_v 2
driver_api_multi.cpp:(.text.cdstroyContectv+0 x 1 c):undefinedreference to`cuCtxDestroy_v 2
CMake Files/example_gpudriver_api_multi.dir/driver_api_multi.cpp.o:Infunction`Worket::operator(int)const':
driver_api_multi.cpp:(.text.uZNK 6 Workerclei+0 x 19):undefined reference to`cuCtxPursh Curent_v 2
driver_api_multi.cpp:(.text.uZNK 6 Workerclei+0 x 6 bf):undefined reference to`cuCtxPopCurent_v 2
 
解決方法:
Only two example will affect by this bugは、「exampleugupleugugupugugupugugupugupugup uulti」という名前です。 
Modifyライン50:
ターゲットlink_libries($the tuarget){OPECVCVCuLINKERULIBS}

ターゲットlink_libries($the tuarget)$
in「opencv-3.4.1/samples/gpu/CMakeLists.txt」can easity fixthis problem
 上記の方法は新しいエラーが発生します。/usr/bin/ld:cannot find-lopencv_クダビjdetectcuda
したがって、以下の方法でCmakelist.txtファイルを修正します。
foreach(sample filename$allmusples)   ocvdefine_sample(tgt${samplefilename}gpu)   ocvターゲットlink_libries($tgt]、{OPECVCULIBS}  if(HAVERA AND NOT ANDROID)    ocvターゲットlink_libries(${tgt}{CUDA CUDA LIBRIY}  endif()   if(HAVERS 2 d)     ocvターゲットlink_libries(${tgt}opencvxfeature s 2 d)   endif()