λλ cmakeλ₯Όνλ€ ... κ·Έλ° λ€μ λ§λ€κ³ μ€μΉνμμμ€.
opencv.pc νμΌμ μμ±νμ§ μμ΅λλ€.
λ²μ 3.4.3μ λν΄ λμΌν λͺ λ Ήμ μ¬μ©νλ©΄ νμΌμ΄ μμ±λ©λλ€.
λ λ€λ₯Έ νκ°μ§
pkgconfigμ μ°κ²°νλ©΄ λ²μ λ²νΈκ°μλ λΌμ΄λΈλ¬λ¦¬μ μ°κ²°λ©λλ€.
λ°λΌμ 3.4.3 μ΄νμ 4.0.0-rcλ₯Ό μ€μΉνλ©΄ pkgconfigλ₯Ό μ¬μ©ν μ μκ²λ©λλ€.
opencv3.4.pc opencv4.pcμ κ°μ opencv.pc νμΌμ΄ μ¬λ¬ κ° μμΌλ©΄ μ’μ κ²μ
λλ€.
Pkg-configλ κΈ°λ₯μ΄ λ§€μ° μ νλμ΄ μμΌλ―λ‘μ΄ μ§μμ΄ μ€λ¨λμμ΅λλ€.
λμ find_package(OpenCV)
μ ν¨κ» CMakeλ₯Ό μ¬μ©ν©λλ€ (μ¬λ¬ λ²μ μ ν, μ€ν¬λ¦½νΈ μΈμ΄λ₯Ό ν΅ν "μ¦μ"κ΅¬μ± λ±).
λ³κ²½ μ¬νμ λ€μκ³Ό κ°μ΅λλ€.
pkg-config
μ§μμ λ€μ λμ
ν λ°©λ²μ΄ μμ΅λκΉ? νμ¬ μμ± λ .pc νμΌμ λλΆλΆμ μ€μ μμ μλνλ κ²μΌλ‘ 보μ΄λ©° λͺ¨λ μ¬λμ΄ cmake
μ¬μ©νλ κ²μ μλλλ€. OpenCVκ° μμ‘΄νλ λΌμ΄λΈλ¬λ¦¬ λͺ©λ‘κ³Ό ν€λ λ° .so νμΌμ΄μλ μ λ³΄κ° pkg-config
λλΆλΆμ μ¬μ© μ¬λ‘μ μ΄λ―Έ μΆ©λΆνλ€κ³ μκ°ν©λλ€. μλλ©΄ μ΄μ κ΄λ ¨νμ¬ μ νμ΄ μμ΅λκΉ?
μ΅μ OPENCV_GENERATE_PKGCONFIG = ONμ '.pc'νμΌμ μμ±ν©λλ€. λν pkg-configκ° μ¬μ©λλ * nix μμ€ν μμ κΈ°λ³Έμ μΌλ‘ μμ±λμ΄μΌνλ€κ³ μκ°ν©λλ€. lddλ‘ λ°μ΄λ리 νμΌμ ν μ€νΈνμΌλ©° μ¬λ°λ₯΄κ² μ°κ²°λμμ΅λλ€. κ°λ±μ΄ λ°μν μμλ κ²μ κ°λ° μκ° μΌλΏμ λλ€. κ·Έλ¦¬κ³ cmakeμμλ λμΌν λ¬Έμ κ° λ°μν μ μλ€κ³ μκ°ν©λλ€. -llibλ³΄λ€ λ ꡬ체μ μΌ μ μμ΅λλ€. .so νμΌλ‘ libsλ₯Ό μ ννκ² μ§μ ν μ μμ΅λλ€.
CMakeLists.txt :
OCV_OPTION(OPENCV_GENERATE_PKGCONFIG "Generate .pc file for pkg-config build tool (deprecated)" ON)
μλνμ§ μλλ€
@codenoid λλ κ·Έ μ΅μ
μ λν μΈμκ° μ€μ λ‘ YES
λΌκ³ μκ°ν©λλ€.
ffmpegλ opencv λΌμ΄λΈλ¬λ¦¬ μ’ μμ±, FWIWμ λν΄ .pc νμΌμ μμ‘΄ν©λλ€.
λν "make install"μ μμ± λ .pc νμΌμ μ€μΉνμ§ μμ΅λλ€.
λν "make install"μ μμ± λ .pc νμΌμ μ€μΉνμ§ μμ΅λλ€.
.pc νμΌμ μ€μΉ νμ΅λκΉ?
λ€, κ·Έλ₯ μλμΌλ‘ 볡μ¬νμ΅λλ€. : |
2019 λ 1 μ 15 μΌ νμμΌ μ€ν 2:20 Favi0 [email protected] μ λ€μκ³Ό κ°μ΄ μΌμ΅λλ€.
λν μ°Έκ³ λ‘ "make install"μ .pc νμΌμ μ€μΉνμ§ μμ΅λλ€.
μμ± : |.pc νμΌμ μ€μΉ νμ΅λκΉ?
β
λκΈμ λ¬μ κΈ° λλ¬Έμ μμ ν κ²μ λλ€.
μ΄ μ΄λ©μΌμ μ§μ λ΅μ₯νκ³ GitHubμμ νμΈνμΈμ.
https://github.com/opencv/opencv/issues/13154#issuecomment-454555451 ,
λλ μ€λ λ μμκ±°
https://github.com/notifications/unsubscribe-auth/AAAw0IVOZFkcmQtjPGnwDjxWhzJoO-dxks5vDkYegaJpZM4Ycby9
.
λλ λκ°μ λ¬Έμ κ° μμκ³ κ³ λ§κ²λμ΄ μ€λ λλ₯Ό λ°κ²¬νμΌλ©° λͺ¨λ μ¬λμ΄ cmakeλ₯Ό μ¬μ©νλ κ²μ μλλλ€.
κ°μ λ¬Έμ λ‘μ΄ μ€λ λλ₯Ό μ°μ°ν λ°κ²¬νλ μ¬λμκ²λ
cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=YES -D CMAKE_INSTALL_PREFIX=/usr/local ..
μ¬κΈ°μ ν΅μ¬μ -D OPENCV_GENERATE_PKGCONFIG=YES
κ·Έλ° λ€μ μ μμ μΌλ‘ λΉλνκ³ μ€μΉνμμμ€. νμΈν κ²°κ³Ό OpenCVκ° .pc
νμΌμ μ§κΈ μ€μΉνλ κ² κ°μΌλ―λ‘ μλμΌλ‘ λ³΅μ¬ ν νμκ° μμ΅λλ€. ν¨ν€μ§ μ΄λ¦μ "opencv4"λ‘ μ€μΉλλ―λ‘ pkg-config --cflags opencv4
.
μμ€ν μ 보 (λ²μ )
- OpenCV => 4.0.0-rc
- μ΄μ 체μ / νλ«νΌ => Ubuntu 18.10
- μ»΄νμΌλ¬ => gcc 8.2.0 / gcc 6
μμΈ μ€λͺ
λλ cmakeλ₯Όνλ€ ... κ·Έλ° λ€μ λ§λ€κ³ μ€μΉνμμμ€.
opencv.pc νμΌμ μμ±νμ§ μμ΅λλ€.λ²μ 3.4.3μ λν΄ λμΌν λͺ λ Ήμ μ¬μ©νλ©΄ νμΌμ΄ μμ±λ©λλ€.
λ λ€λ₯Έ νκ°μ§
pkgconfigμ μ°κ²°νλ©΄ λ²μ λ²νΈκ°μλ λΌμ΄λΈλ¬λ¦¬μ μ°κ²°λ©λλ€.
λ°λΌμ 3.4.3 μ΄νμ 4.0.0-rcλ₯Ό μ€μΉνλ©΄ pkgconfigλ₯Ό μ¬μ©ν μ μκ²λ©λλ€.
opencv3.4.pc opencv4.pcμ κ°μ opencv.pc νμΌμ΄ μ¬λ¬ κ° μμΌλ©΄ μ’μ κ²μ λλ€.
opencv 4.0.1μλ installμ λ§λ ν opencv.pcκ° μμ±λμ§ μκ³ pkgconfig νμΌλ μμ±λμ§ μμ΅λλ€.
λλ λκ°μ λ¬Έμ κ° μμκ³ κ³ λ§κ²λμ΄ μ€λ λλ₯Ό λ°κ²¬νμΌλ©° λͺ¨λ μ¬λμ΄ cmakeλ₯Ό μ¬μ©νλ κ²μ μλλλ€.
κ°μ λ¬Έμ λ‘μ΄ μ€λ λλ₯Ό μ°μ°ν λ°κ²¬νλ μ¬λμκ²λ
cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=YES -D CMAKE_INSTALL_PREFIX=/usr/local ..
μ¬κΈ°μ ν΅μ¬μ
-D OPENCV_GENERATE_PKGCONFIG=YES
κ·Έλ° λ€μ μ μμ μΌλ‘ λΉλνκ³ μ€μΉνμμμ€. νμΈν κ²°κ³Ό OpenCVκ°.pc
νμΌμ μ§κΈ μ€μΉνλ κ² κ°μΌλ―λ‘ μλμΌλ‘ λ³΅μ¬ ν νμκ° μμ΅λλ€. ν¨ν€μ§ μ΄λ¦μ "opencv4"λ‘ μ€μΉλλ―λ‘pkg-config --cflags opencv4
.
λλ λΉμ μ΄ λ§νλλ‘ κ·Έκ²μνμ§λ§ μ¬μ ν pkgconfigλ opencv.pcλ μμμ΅λλ€ ...
"-D OPENCV_GENERATE_PKGCONFIG = YES"νλκ·Έλ₯Ό μΆκ°νκ³ cmakeλ₯Ό μ€ν ν ν makeλ₯Ό μ°Ύμμ΅λλ€.
... / unix-install / opencv4.pc
λ€λ₯Έ μ¬λλ€μ΄ μΈκΈνλ―μ΄ "make install"μ / usr / local μλμ νμΌμ 볡μ¬νμ§ μμμ΅λλ€.
pkg-config 맨 νμ΄μ§λ₯Ό μ½λ κ²λ§μΌλ‘λ opencv4.pcκ° μ΄λλ‘ κ°μΌν μ§ μ μ μμ΅λλ€. / usr / local μλμ μμ§λ§ μ νν μ΄λμ
λκΉ?
λν make install
μ΄ opencv4.pc
볡μ¬νμ§ μμ λμΌν λ¬Έμ κ° μμμ§λ§ λ¦΄λ¦¬μ€ νμ΄μ§μμ 4.1.0 zipμ μ¬μ©νμ΅λλ€.
@UberEclectic @ Kevin-Mok opencv4.pc νμΌμ / usr / local / lib / pkgconfigμ 볡μ¬ν΄μΌν©λλ€. μ΅κ·Όμ μ€μΉλ OpenCV λΌμ΄λΈλ¬λ¦¬κ° μ¬λ°λ₯΄κ² κ³ λ €λμλμ§ νμΈνκΈ° μν΄ 'sudo ldconfig'λ₯Ό μμ§ λ§μμμ€. RC
λλ λκ°μ λ¬Έμ κ° μμκ³ κ³ λ§κ²λμ΄ μ€λ λλ₯Ό λ°κ²¬νμΌλ©° λͺ¨λ μ¬λμ΄ cmakeλ₯Ό μ¬μ©νλ κ²μ μλλλ€.
κ°μ λ¬Έμ λ‘μ΄ μ€λ λλ₯Ό μ°μ°ν λ°κ²¬νλ μ¬λμκ²λ
cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=YES -D CMAKE_INSTALL_PREFIX=/usr/local ..
μ¬κΈ°μ ν΅μ¬μ
-D OPENCV_GENERATE_PKGCONFIG=YES
κ·Έλ° λ€μ μ μμ μΌλ‘ λΉλνκ³ μ€μΉνμμμ€. νμΈν κ²°κ³Ό OpenCVκ°.pc
νμΌμ μ§κΈ μ€μΉνλ κ² κ°μΌλ―λ‘ μλμΌλ‘ λ³΅μ¬ ν νμκ° μμ΅λλ€. ν¨ν€μ§ μ΄λ¦μ "opencv4"λ‘ μ€μΉλλ―λ‘pkg-config --cflags opencv4
.
μ κ²½μ°μλ .cp νμΌμ μ€μΉνμ§ μμμ΅λλ€.
λ€, κ·Έλ₯ μλμΌλ‘ 볡μ¬νμ΅λλ€. : |
β¦
2019 λ 1 μ 15 μΌ νμμΌ μ€ν 2:20 Favi0 @ . * > write : λν μ°Έκ³ λ‘ "make install"μ .pc νμΌμ΄ μμ± λλλΌλ μ€μΉνμ§ μμ΅λλ€. .pc νμΌμ μ€μΉ νμ΅λκΉ? β λκΈμ λ¬μ κΈ° λλ¬Έμ μμ ν κ²μ λλ€. μ΄ μ΄λ©μΌμ μ§μ νμ νκ±°λ GitHub < # 13154 (comment) >μμ 보거λ https://github.com/notifications/unsubscribe-auth/AAAw0IVOZFkcmQtjPGnwDjxWhzJoO-dxks5vDkYegaJpZM4Ycby9 μ€λ λλ₯Ό μμκ±°
μ΄λ»κ² νμ΅λκΉ?, μ κ²½μ°μλ opencv.cp νμΌλ μμ±νμ§ μμμ΅λλ€!
FWIW opencv 3.4.5λ₯Ό μ¬μ©νλ λ°©λ²μ λ€μκ³Ό κ°μ΅λλ€.
do_make_and_make_install
cp unix-install/opencv.pc $PKG_CONFIG_PATH
2019 λ 4 μ 29 μΌ μμμΌ μ€μ 10:26 s [email protected] μμ± :
λ€, κ·Έλ₯ μλμΌλ‘ 볡μ¬νμ΅λλ€. : |
β¦ <# m_9070919798374828714_>
2019 λ 1 μ 15 μΌ νμμΌ μ€ν 2:20 Favi0 @ . * > μ΄ : λν λ©λͺ¨λ‘
"make install"μ .pc νμΌμ΄ μμ± λλλΌλ μ€μΉνμ§ μμ΅λλ€. μλ€
.pc νμΌμ μ€μΉ νμ΅λκΉ? β λΉμ μ λΉμ λλ¬Έμ μ΄κ²μ λ°κ³ μμ΅λλ€
λκΈμ λ¬μμ΅λλ€. μ΄ μ΄λ©μΌμ μ§μ νμ νκ³ GitHubμμ νμΈνμμμ€. <# 13154
(λ Όν)
https://github.com/opencv/opencv/issues/13154#issuecomment-454555451 >,
λλ μ€λ λ μμκ±°
https://github.com/notifications/unsubscribe-auth/AAAw0IVOZFkcmQtjPGnwDjxWhzJoO-dxks5vDkYegaJpZM4Ycby9
.λΉμ μ κ·Έλ κ² μμλ€ λ°©λ²?
β
λκΈμ λ¬μ κΈ° λλ¬Έμ μμ ν κ²μ λλ€.
μ΄ μ΄λ©μΌμ μ§μ λ΅μ₯νκ³ GitHubμμ νμΈνμΈμ.
https://github.com/opencv/opencv/issues/13154#issuecomment-487647192 ,
λλ μ€λ λ μμκ±°
https://github.com/notifications/unsubscribe-auth/AAADBUGSALBP6IJAXOVIOLTPS4OSLANCNFSM4GDRXS6Q
.
OpenCVλ₯Ό μ¬μ©νλ νλ‘μ νΈμμ CMakeλ₯Ό μ¬μ©νμ§ μλ κ²½μ° μ μ©ν©λλ€.
λ μ΄μ μ¬μ©λμ§ μλλ€κ³ λ§νμ§ λ§μμμ€. [1] μ λ°
[1]
https://github.com/opencv/opencv/commit/73f65b1ccf220572f8cbad6fe06d19f313892db5
4.1.0μμ μλλ PC νμΌμ μμ±νμ§ μμ΅λλ€.
cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=YES -D CMAKE_INSTALL_PREFIX=/usr/local ..
4.1.0μ μ¬μ©νλ©΄ μλν©λλ€. μ΄μ μ μ 곡λ λͺ λ Ήμμ μ€μλ₯Ό λ°κ²¬νμ΅λλ€. YES λμ ONμ μ¬μ©ν΄μΌν©λλ€.
OPENCV_GENERATE_PKGCONFIG=ON
pkg-config --cflags opencv4
-I/usr/include/opencv4/opencv -I/usr/include/opencv4
$ pkg-config --libs opencv4
-lopencv_aruco -lopencv_bgsegm -lopencv_bioinspired -lopencv_ccalib -lopencv_dnn_objdetect -lopencv_dpm -lopencv_face -lopencv_freetype -lopencv_fuzzy -lopencv_gapi -lopencv_hfs -lopencv_img_hash -lopencv_line_descriptor -lopencv_quality -lopencv_reg -lopencv_rgbd -lopencv_saliency -lopencv_stereo -lopencv_stitching -lopencv_structured_light -lopencv_phase_unwrapping -lopencv_superres -lopencv_optflow -lopencv_surface_matching -lopencv_tracking -lopencv_datasets -lopencv_text -lopencv_dnn -lopencv_plot -lopencv_videostab -lopencv_video -lopencv_xfeatures2d -lopencv_shape -lopencv_ml -lopencv_ximgproc -lopencv_xobjdetect -lopencv_objdetect -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_flann -lopencv_xphoto -lopencv_photo -lopencv_imgproc -lopencv_core
OpenCVλ₯Ό μ¬μ©νλ νλ‘μ νΈμμ CMakeλ₯Ό μ¬μ©νμ§ μλ κ²½μ° μ μ©ν©λλ€.
λ μ΄μ μ¬μ©λμ§ μλλ€κ³ λ§νμ§ λ§μμμ€. [1] μ λ°
[1]
[73f65b1] (https://github.com/opencv/opencv/commit/73f65b1ccf220572f8cbad6fe06d19f313892db5)
λ΄ κ΄μ μ λ³κ²½νλ©΄ μλ§λ λΉμΆμ²μ΄λΌκ³ ν μ μμ΅λλ€ ...
κ·Έλμ cmakeμ -D OPENCV_GENERATE_PKGCONFIG = ON μ΅μ μ μ΄μ λ μ΄μ μ¬μ©λμ§ μμ΅λκΉ? κ·Έλ¬λ©΄ pkgconfig λ° opencv.pc νμΌμ μ΄λ»κ² μ»μ μ μμ΅λκΉ?
κ·Έλμ cmakeμ -D OPENCV_GENERATE_PKGCONFIG = ON μ΅μ μ μ΄μ λ μ΄μ μ¬μ©λμ§ μμ΅λκΉ? κ·Έλ¬λ©΄ pkgconfig λ° opencv.pc νμΌμ μ΄λ»κ² μ»μ μ μμ΅λκΉ?
λͺ μ μ μΌλ‘ μΆκ°νμ§ μμΌλ©΄ OPENCV_GENERATE_PKGCONFIG = ONμ΄ μμ±λμ§ μμ΅λλ€.
λ΄ % cmakeμ μΆκ°νμ΅λλ€.
-DOPENCV_GENERATE_PKGCONFIG=ON \
-DOPENCV_PC_FILE_NAME=opencv.pc \
cmake νμΌμ κΈ°λ³Έ cmake ν΄λμ μ€μΉνλ €λ©΄ λ€μμ μΆκ°ν©λλ€.
-DOPENCV_CONFIG_INSTALL_PATH=%{_libdir}/cmake/OpenCV \
λͺ¨λ μ¬λμ΄ CMAKEλ₯Ό μ¬μ©νλλ‘ κ°μνμ§ λ§μμμ€. λ§μ νλ‘μ νΈμμ CMAKEλ₯Ό μ¬μ©νμ§ μλ μ΄μ κ° μμ΅λλ€.
κ·Έλμ opencvμ AUR μ μ₯μ λ²μ μ μ€μΉνμ΅λλ€. ν΄λΉ μ€μΉλ opencv.pcλ₯Ό μμ±νμ§ μμμ΅λλ€. λ΄ νλ‘μ νΈ μ€ νλ (C)λ make μ΅μ μ€ νλλ‘ 'pkg-config opencv --libs'λ₯Ό μ¬μ©νκ³ μμ΅λλ€. μ΄ μ μ₯μμμ cmakingμμ΄μ΄ opencv.pcλ₯Ό μμ±νλ λ°©λ²μ΄ μμ΅λκΉ? Pacmanμμ κ΄λ¦¬νλ λ κ°μ§ λ²μ μ opencvμ μμΉμ μλ μ€μΉλ₯Ό μ€μΉνκ³ μΆμ΅λλ€.
cmake νμΌμ κΈ°λ³Έ cmake ν΄λμ μ€μΉνλ €λ©΄ λ€μμ μΆκ°ν©λλ€.
-DOPENCV_CONFIG_INSTALL_PATH=%{_libdir}/cmake/OpenCV \
λ²κ·Έ μ κ³ https://bugzilla.redhat.com/show_bug.cgi?id=1721876
μ΄μ OPENCV_CONFIG_INSTALL_PATHμμ μλ κ²½λ‘λ₯Ό μ¬μ©ν©λλ€.
-DOPENCV_CONFIG_INSTALL_PATH=%{_lib}/cmake/OpenCV \
λλ
-DOPENCV_CONFIG_INSTALL_PATH=lib64/cmake/OpenCV \
@ sergiomb2 μΈκΈ λ ν°μΌμ pkg-config νμΌμ κ΄ν κ²μ΄ μλλλ€ (μ΄ λ¬Έμ λ
CMake κ΅¬μ± μμ± λ° μ λ / μλ κ²½λ‘μ λν μλ‘μ΄ μμ / ν λ‘ μ΄ μμ΅λλ€. # 14925 # 14963
4.1.0μ μ¬μ©νλ©΄ μλν©λλ€. μ΄μ μ μ 곡λ λͺ λ Ήμμ μ€μλ₯Ό λ°κ²¬νμ΅λλ€. YES λμ ONμ μ¬μ©ν΄μΌν©λλ€.
OPENCV_GENERATE_PKGCONFIG=ON
....
μ΄κ²μ μ νν©λλ€. ONμ μ¬μ©νλ©΄ opencv4λ opencv4.pc νμΌμ ... / pkconfig ν΄λμ μμ±ν©λλ€.
μ°Έκ³ λ‘ opencv4μ λν μ± μλ μ€μ λ λ μ΄μ μ¬μ©λμ§ μλ μ½λκ° μμ΅λλ€. λλ μΌν λͺ¨λ²μ μ»κΈ° μν΄ λ©°μΉ λμ κ³ μνλ€. λ§μΉ¨λ΄ λλ μ΄κ²μ μ»μκ³ μλν©λλ€.
cd ~ / opencv / samples / cpp
g ++ opencv_version.cpp $ (pkg-config --cflags --libs opencv4) -o show_version
μλ .
μ΄λ―Έ μλ½ λ (κ·Έλ¬λ νΈν₯λ) μ μμ -1μ λ£λ κ²μ μ’μνμ§ μμ§λ§ μ¬κΈ°μ λ λμ μ€λͺ μ΄ μμ΅λλ€.
opencv3.4.pc opencv4.pcμ κ°μ opencv.pc νμΌμ΄ μ¬λ¬ κ° μμΌλ©΄ μ’μ κ²μ λλ€.
ν μμ© νλ‘κ·Έλ¨μ΄ opencv2-> opencv5μ νΈνλλ κ²½μ° (λ―Έλ λ§μ€ν°κ° 5 μΈ κ²½μ°) λμΌν opencv.pc (pkgconfλ₯Ό μ¬μ©ν λ)μ μμ‘΄νλ κ²μ΄ μ½κ³ λλλ‘ μ μνμ§ μλ κ²μ΄ μ½μ΅λλ€.
κΈ°λ³Έμ μΌλ‘ opencv.pcλ₯Ό κ³μ μ¬μ©νλ€λ μ μ opencv.pc λ²μ μ΄ λ³κ²½ λ λλ§λ€ μμ© νλ‘κ·Έλ¨μ μ μ© ν νμκ° μλ€λ κ²μ
λλ€. λ°°ν¬ν ν¨ν€μ§ κ΄λ¦¬μλ‘λΆν° λͺ¨λ μ¬λμ΄ λμΌν opencv.pcλ₯Ό μ¬μ©νλ κ²μ΄ λ μ½μ΅λλ€.
μ£Όμ μ λν λ€λ₯Έ μ견μ # 16902λ₯Ό μ°Έμ‘°νμμμ€.
OPENCV_GENERATE_PKGCONFIG = ONμ μλν©λλ€. νμ§λ§ μλνμ§ μμ΅λλ€.
OPENCV_GENERATE_PKGCONFIG = YESλ₯Ό μλν©λλ€. νμ§λ§ μλνμ§ μμ΅λλ€.
λλ -DOPENCV_GENERATE_PKGCONFIG = ONμ μλν©λλ€. νμ§λ§ μλνμ§ μμ΅λλ€.
opencv 4.3.0
λ΄ λ‘컬 κ²½λ‘μ opencvλ₯Ό μ€μΉν©λλ€. / data / home / xxx / opencvμ κ°μ. λλ makeλ₯Ό μ¬μ©νκ³ μ€μΉνλ€. λλ make install. λ λ€ μλνμ§ μμ΅λλ€.
λλ ν¬κΈ°νλ€. libλ₯Ό μΆκ°νκ³ makefileμ νμΌμ ν¬ν¨ν©λλ€.
cmake μ΅μ
μμ -DOPENCV_GENERATE_PKGCONFIG = ONμ λ£μ΄μΌν©λλ€.
κ·Έλ° λ€μ make "command"λ₯Ό μννλ©΄ λΉλ ν΄λμμ .pc νμΌ λ΄λΆμ os (λ΄ κ²½μ° "unix")λΌλ μ΄λ¦μ ν΄λλ₯Ό μ°Ύμ μ μμ΅λλ€.
μλ νμΈμ.
"-D"μ΅μ μ μμ§ μμλμ?
λ¬Έμμμμ κ°μ΄ -D λ€μλ νμ κ³΅λ°±μ΄ μμ΅λλ€.
-D OPENCV_GENERATE_PKGCONFIG = ON
κ·Έλ¬λ 곡백μμ΄ μ°λ κ²λ λΆλͺ
ν μλν©λλ€.
-DOPENCV_GENERATE_PKGCONFIG = ON
λ€μμ λ΄ μ€μΉ μ€ν¬λ¦½νΈμ μΈμ©λ¬Έμ΄λ©° cmake λΆλΆμ opencv 4.2.0μμ νμ€ν μλν©λλ€. μ΄ μΈμ©κ΅¬λ μμ ν μ€μΉ μ€ν¬λ¦½νΈκ° μλλλ€. κ·Έ μ μλ λ§μ λΌμ΄λΈλ¬λ¦¬κ° λ³λλ‘ μ€μΉλμ΄ μμΌλ―λ‘ μμ μ λͺ©μ μ λ§λ μ€ν¬λ¦½νΈλ₯Ό λ§λ€μ΄μΌν©λλ€. λ§μ§λ§μ ldconfigλ Linuxμμ μΌλΆ μ€μΉ μμ μ μλ£νλ―λ‘ μμ§ λ§μμμ€. ~ / .bashrcμμ κ²½λ‘λ₯Ό νΈμ§ν΄μΌ ν μλ μμ΅λλ€. λ¨Όμ λ€μ΄λ‘λ ν νλͺ©μ opencv ν΄λλ‘ μ΄λ ν λ€μ λ± ...
mv opencv-4.2.0 opencv
cd opencv
mkdir λΉλ
cd λΉλ
cmake -D CMAKE_BUILD_TYPE = RELEASE -D WITH_QT = ON -D OPENCV_GENERATE_PKGCONFIG = ON -D CMAKE_INSTALL_PREFIX = / usr / local -D WITH_V4L = ON -D WITH_EIGEN = ON -D WITH_OPENGL = ON -D FORCE_VTK = ON -D FORCE_VTK = ON -D FORCE_VTK = ON D WITH_XINE = ON -D BUILD_EXAMPLES = ON -D BUILD_PERF_TESTS = OFF -D ENABLE_PRECOMPILED_HEADERS = OFF .. -D INSTALL_C_EXAMPLES = ON -D BUILD_EXAMPLES = ON -D BUILD_opencv_python3 = ON -D OPENCV_EXTRA_MODULES. .
-j6 λ§λ€κΈ°
sudo make install
sudo ldconfig
opencv4.pcκ° μ΄λμ μλμ§ νμΈνμμμ€.
λ¨Όμ μ§μμ λ λ² μλ‘ λκΉμ§ μ΄λνμμμ€.
cd ..
cd ..
κ·Έλ:
sudo find -name opencv4.pc
λ€μκ³Ό κ°μ ν¨ν€μ§ ν΄λλ₯Ό μ°Ύμ μ μμ΅λλ€.
sudo find -name pkgconfig
λμμ΄ λμκΈ°λ₯Ό λ°λλλ€.
μΆμ . μ΄μ κ²μλ¬Όμ cmake μ¬λ³Έμ μ€ λ°κΏμμ΄ νλμ μ°μ λ νμ΄μ΄μΌν©λλ€. μλμΌλ‘ μ¬λ¬ μ€λ‘ λλλ €λ©΄ μ μ ν μ€ λ°κΏμ μΆκ°νμμμ€.
opencvκ° μ λλ‘ μ€μΉλμλ€κ³ μκ°λλ©΄ ν
μ€νΈ ν μ μμ΅λλ€. λ¨Όμ λ€μκ³Ό κ°μ cpp μν ν΄λλ‘ μ΄λν©λλ€.
cd ~ / opencv / samples / cpp
opencv_version.cppλ₯Ό show_my_versionμ΄λΌλ μ€ν νμΌλ‘ μ»΄νμΌν©λλ€.
g ++ opencv_version.cpp $ (pkg-config --cflags --libs opencv4) -o show_my_version
κ·Έκ²μ μ€ννμμμ€ : ./show_my_version
@dalilander κ·Έλ. ν¨κ³Όκ°μλ€. μ λ§ λλμ΅λλ€. μΉμ νκ² λ΅λ³ ν΄ μ£Όμ μ κ°μ¬ν©λλ€.
OpenCV 4.2.0μ μ€μΉ ν ν λΉμ·ν λ¬Έμ κ° λ°μνμΌλ©° CMakeLists.txtλ₯Ό μ¬μ©νμ¬ C ++ νλ‘κ·Έλ¨μ μ»΄νμΌνλ λ°©λ²μ μ°Ύμ μ μμ΅λλ€. λ€λ₯Έ λ²μ μ OpenCVλ μ€μΉλμ΄ μμΌλ―λ‘ μ»΄νμΌλ¬μ λν νΉμ κ²½λ‘λ₯Ό μ 곡ν΄μΌνμ΅λλ€. pkg--configsκ° μ€μ λμκ³ _ -D OPENCV_GENERATE_PKGCONFIG=YES
_>λ₯Ό μ¬μ©νμ¬ OpenCVλ₯Ό λΉλνκΈ° μν΄ μμ κ²μ λ μ루μ
λλΆμ opencv4λ₯Ό μλ³ ν μ μμμ§λ§ pkg-config .pc νμΌ κ²½λ‘λ₯Ό λ€μκ³Ό κ°μ νκ²½ λ³μλ‘ λ΄ λ³΄λ΄μΌνμ΅λλ€.
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/home/ubuntu/opencv/opencv4/lib/pkgconfig
OpenCV λ²μ 3.4.4λ‘ μ»΄νμΌνλ μΌλ°μ μΈ λ°©λ²μ cmake . -DOpenCV_DIR=~/opencv/opencv4/share/
(λλ / usr / local / share / OpenCV) μ΄μμ§λ§ 4.2.0μμλ μλνμ§ μμμ΅λλ€. λ§μ§λ§μΌλ‘ 4.2.0μ share / λλ ν 리μ Config.cmake λ° Config-version.cmake νμΌμ λ£μ§ μμμ΅λλ€. λμ λ³λμ / lib / cmake / opencv4 / λλ ν 리μ λ°°μΉλμμ΅λλ€. μ΄μ λͺ¨λ νλ‘κ·Έλ¨μ cmake. -DOpenCV_DIR=(yopur opencv installation location)/opencv4/lib/cmake/opencv4
μ»΄νμΌ ν μ μμΌλ©° λͺ¨λ κ²μ΄ μλ²½νκ² μλν©λλ€!
CMakeLists.txtμ find_package( OpenCV 4.2.0 REQUIRED )
λ μΆκ°νμ΅λλ€. μ΄κ²μ΄ μ΅μ μ λ°©λ²μΈμ§ νμ€νμ§ μμ§λ§ λ€λ₯Έ μ¬λλ€μκ² λμμ΄λκΈ°λ₯Ό λ°λλλ€!
μλ
νμλκΉ,
μμ μ μμ μλνμ§λ§ ( @dalilander λ° @hardikparwana λλΆμ) μ무λ μλνμ§ μμμ΅λλ€. μ€μΉλ Raspberry PI 4 ARMv7l, Centos 7μ
λλ€.
OpenCVλ GitHub μ μ₯μ, v.4.4 https://github.com/opencv/opencv/ μμ μ¬μ© κ°λ₯ν μ΅μ λ²μ μ
λλ€.
λ€μ λͺ λ Ήμμμ κ°μ΄ openCVλ₯Ό μ»΄νμΌνμ΅λλ€. λλ λν μλνλ€ ... = ON ... -D OPENCV_GENERATE_PKGCONFIG = YES
make3 -D CMAKE_BUILD_TYPE = RELEASE -D CMAKE_INSTALL_PREFIX = / usr / local -D INSTALL_C_EXAMPLES = ON -D INSTALL_PYTHON_EXAMPLES = ON -D OPENCV_GENERATE_PKGCONFIG = YES -D OPENCV_EXTRA_ λͺ¨λ / λ‘컬 / OPENCV_EXTRA_MODULES_PATH = / usrcvs ..
κ·Έλ° λ€μ μ€μΉ λ¨κ³λ₯Ό λ°λμ΅λλ€.
make -j4 (λ΄ κ²½μ°μλ 4)
sudo make install
sudo ln -s /usr/local/lib64/pkgconfig/opencv4.pc / usr / share / pkgconfig /
sudo ldconfig
pkg-config --modversion opencv4
κ·Έλ° λ€μ λ€μ μ€λ₯λ₯Ό λ°νν©λλ€.
@Rasp λΉλ] $ pkg-config --modversion opencv4
pkg-config κ²μ κ²½λ‘μμ opencv4 ν¨ν€μ§λ₯Ό μ°Ύμ μ μμ΅λλ€.
μλ§λ`opencv4.pc 'λ₯Ό ν¬ν¨νλ λλ ν 리λ₯Ό μΆκ°ν΄μΌ ν κ²μ
λλ€.
PKG_CONFIG_PATH νκ²½ λ³μμ
'opencv4'ν¨ν€μ§λ₯Ό μ°Ύμ μ μμ΅λλ€.
opencv4.pcλ₯Ό μλμΌλ‘ μΆκ°ν΄μΌν©λκΉ? μ΄λ»κ² μΆκ°ν΄μΌν©λκΉ?
μ΅κ³ μ μμ,
λλ
@iuri λ΄ μ루μ
μμ μ μν κ²μ²λΌ PKG_CONFIG_PATHλ₯Ό λ΄ λ³΄λ΄μ§ μμ κ² κ°μ΅λλ€. μλμΌλ‘ν΄μΌν©λλ€. μΌλ¨ λΉμ μ λ¬Έμ λ ν΄κ²° λ κ²μ΄λΌκ³ μκ°ν©λλ€.
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/home/ubuntu/opencv/opencv4/lib/pkgconfig
κ²½λ‘λ₯Ό κ·νμ κ²μΌλ‘ λ°κΎΈμμμ€.
λ°λ‘ κ·Έκ±°μ£ !
μ κ·Έκ²μ λ΄ λ³΄λ΄μ§ μμμ΅λκΉ?
Config.cmakeλΌλ νμΌμ΄ μκΈ° λλ¬Έμ share / λλ / lib λλ ν 리μ Config-version.cmakeλ μμ΅λλ€. μ 체 νμΌ μμ€ν
μ μ‘΄μ¬νμ§λ μμ΅λλ€. 그건 κ·Έλ κ³ , κ·νμ μλ Ubuntu μ©μ΄κ³ λ΄ OSλ Centos 7, Archλ armV7Lμ
λλ€.
λͺ
λ Ή μ€μμ "find"λ₯Ό μ€ννλλ° openCV λλ ν 리μλ μν λ§μμμ΅λλ€.
[ @Rasp ~] $ sudo find / -iname "Config.cmake"
/usr/local/src/opencv_build/opencv/samples/hal/c_hal/config.cmake
/usr/local/src/opencv_build/opencv/samples/hal/slow_hal/config.cmake
[ @Rasp ~] $ sudo find / -iname "Config-version.cmake"
[ @Rasp ~] $
pkg_configλ₯Ό μ€μΉν΄μΌν©λκΉ?
https://stackoverflow.com/questions/28997618/installing-pkg-config-files-to-proper-path-on-centos-with-automake
μ΅κ³ μ μμ,
λλ
μλ
,
λ΅μ μ°Ύμμ΅λλ€!
μ¬μ€ λ¬Έμ λ₯Ό λ°κ²¬νμ΅λλ€. μ¬λ³Όλ¦ λ§ν¬κ° μλͺ»λ λ°©ν₯μΌλ‘ ν λΉλμμμ μμμ΅λλ€.
sudo ln -s /usr/local/lib64/pkgconfig/opencv4.pc / usr / share / pkgconfig /
/ lib64 /κ° μμ΅λλ€. κ·Έλμ κ·Έ μ¬λ³Όλ¦ λ§ν¬λ₯Ό μ κ±°νκ³ νμΌ μμ€ν μμ opencv.pc μ°Έμ‘°λ₯Ό κ²μνκ³ "usr / local / lib / pkgconfig / opencv.pc"λ₯Ό μ°Ύμ λ€μ μ μ¬λ³Όλ¦ λ§ν¬λ₯Ό μμ±νμ΅λλ€.
ln -s /usr/local/lib/pkgconfig/opencv.pc / usr / share / pkgconfig /
"pkg-config --modversion opencv"λ μ΄μ 3.4.11μ λ°νν©λλ€.
YUM pkg κ΄λ¦¬μ μμ€ν μμ μ€μΉ ν μ΄μ λ²μ μ openCVκ°μλ κ² κ°μ΅λλ€.
ν΄λΉ λ²μ μ μ 리νκ³ 4.2 μμ€μμ μλ‘μ΄ openCV μΈμ¬ λ μ΄μ μ μ²μλΆν° μμνκ² μ΅λλ€.
μ΅κ³ μ μμ,
λλ
κ°μ₯ μ μ©ν λκΈ
λλ λκ°μ λ¬Έμ κ° μμκ³ κ³ λ§κ²λμ΄ μ€λ λλ₯Ό λ°κ²¬νμΌλ©° λͺ¨λ μ¬λμ΄ cmakeλ₯Ό μ¬μ©νλ κ²μ μλλλ€.
κ°μ λ¬Έμ λ‘μ΄ μ€λ λλ₯Ό μ°μ°ν λ°κ²¬νλ μ¬λμκ²λ
cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=YES -D CMAKE_INSTALL_PREFIX=/usr/local ..
μ¬κΈ°μ ν΅μ¬μ
-D OPENCV_GENERATE_PKGCONFIG=YES
κ·Έλ° λ€μ μ μμ μΌλ‘ λΉλνκ³ μ€μΉνμμμ€. νμΈν κ²°κ³Ό OpenCVκ°
.pc
νμΌμ μ§κΈ μ€μΉνλ κ² κ°μΌλ―λ‘ μλμΌλ‘ λ³΅μ¬ ν νμκ° μμ΅λλ€. ν¨ν€μ§ μ΄λ¦μ "opencv4"λ‘ μ€μΉλλ―λ‘pkg-config --cflags opencv4
.