2016-10-25 5 views
1

私はNVidia/Cuda:7.5-cudnn4-devel-centos7 Dockerコンテナにopencv 2.4.10を設定しています。opencv_createsamplesのリンク問題

[ 99%] Built target opencv_haartraining_engine 
Linking CXX executable ../../bin/opencv_createsamples 
CMakeFiles/opencv_createsamples.dir/createsamples.cpp.o: In function `main': 
createsamples.cpp:(.text.startup.main+0x2cb): undefined reference to `JpgDatasetGenerator::JpgDatasetGenerator(char const*)' 
createsamples.cpp:(.text.startup.main+0x31f): undefined reference to `DatasetGenerator::create(char const*, int, int, char const*, int, int, int, double, double, double, bool, int, int)' 
createsamples.cpp:(.text.startup.main+0x773): undefined reference to `PngDatasetGenerator::PngDatasetGenerator(char const*)' 
createsamples.cpp:(.text.startup.main+0x7af): undefined reference to `cvCreateTrainingSamplesFromInfo(char const*, char const*, int, int, int, int)' 
createsamples.cpp:(.text.startup.main+0x814): undefined reference to `cvCreateTrainingSamples(char const*, char const*, int, int, char const*, int, int, int, double, double, double, bool, int, int)' 
createsamples.cpp:(.text.startup.main+0x857): undefined reference to `cvShowVecSamples(char const*, int, int, double)' 
collect2: error: ld returned 1 exit status 
make[2]: *** [bin/opencv_createsamples] Error 1 
make[1]: *** [apps/haartraining/CMakeFiles/opencv_createsamples.dir/all] Error 2 
make: *** [all] Error 2 

私はCentOSの6にCUDA 7.0で動作するようにOpenCVの2.4.10を取得することができていますが、この問題は、CUDA 7.5とCentOSの7に表示されます:make installを実行すると、私はこのエラーを取得し、ほとんど完成に動作します。

+0

機能の一部

が定義されている

make clean

ましたここ - https://github.com/opencv/opencv/blob/2.4/apps/haartraining/cvhaartraining.cpp - ここで定義されている設定に基づいて - https://github.com/opencv/opencv/blob/2.4/apps/ haartraining/CMakeLists.txt#L58 - これは問題ではありません。あなたはhaartrainingアプリを構築することから他のログを共有しますか? また、あなたがそれを使用していない場合は、ビルドを無効にすることもできます。 – sanchitarora

答えて

0

私のCentOS 6/CUDA 7.0セットアップでは、なぜこの手順が必要なのかまだ分かりません。私はまた、この修正プログラムは、これまでmake installプロセスにまで必要ではなかったということは驚くべき発見が、解決策は単純に、その後make install