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-guiの取り付け方法:
ターミナル入力
コンパイルの位置:~/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()
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()