LoginSignup
2
0

More than 5 years have passed since last update.

OpenCV(C++)のfilter2Dでコンパイル時に未定義参照エラー

Last updated at Posted at 2018-12-17

filter2D関数を使うためにはlibopencv_imgproc.so をリンクしないといけない。
筆者の場合-lopencv_imgprocをg++に渡した。

ソースコードは公式チュートリアルのMask operations on matrices
filter2D関数が使われており、

g++ sample.cpp  -I/usr/local/include/opencv2 -I/usr/local/include/opencv -L/usr/local/lib -lopencv_core -lopencv_imgcodecs -lopencv_highgui

でコンパイルすると

/usr/bin/ld: /tmp/cc3rtebF.o: シンボル '_ZN2cv8filter2DERKNS_11_InputArrayERKNS_12_OutputArrayEiS2_NS_6Point_IiEEdi' への未定義参照です
//usr/local/lib/libopencv_imgproc.so.3.4: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status

エラーが出る。
-lopencv_imgprocを追加すれば通るはず。

g++ sample.cpp  -I/usr/local/include/opencv2 -I/usr/local/include/opencv -L/usr/local/lib -lopencv_core -lopencv_imgcodecs -lopencv_highgui -lopencv_imgproc

参考:
OpenCVでコンパイルがうまくいかない。Ubuntu環境下です。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0