Opencv: 4.0.0 لا ينتج ملف pkgconfig

تم إنشاؤها على ١٣ نوفمبر ٢٠١٨  ·  40تعليقات  ·  مصدر: opencv/opencv

معلومات النظام (الإصدار)
  • OpenCV => 4.0.0-rc
  • نظام التشغيل / النظام الأساسي => Ubuntu 18.10
  • المترجم => gcc 8.2.0 / gcc 6
وصف مفصل

لقد قمت بعمل cmake ... ثم قم بإجراء التثبيت ثم قم بالتثبيت
ولا يقوم بإنشاء ملف opencv.pc.

إذا استخدمت نفس الأوامر للإصدار 3.4.3 ، فسيتم إنشاء الملف.

شيء آخر
إذا قمت بالربط بـ pkgconfig ، فسيتم ربطه بمكتبات لا تحتوي على أرقام إصدارات.
لذا فإن تثبيت 4.0.0-rc بعد 3.4.3 يجعل pkgconfig غير قابل للاستخدام.
سيكون من الرائع لو كان هناك عدة ملفات opencv.pc مثل opencv3.4.pc opencv4.pc

builinstall question (invalid tracker) wontfix

التعليق الأكثر فائدة

كان لدي نفس المشكلة ، والحمد لله وجدت هذا الموضوع ، ويجب أن أوافق ، لا يستخدم الجميع 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 .

ال 40 كومينتر

وظائف Pkg-config محدودة للغاية ، لذلك تم إسقاط هذا الدعم.

استخدم CMake مع find_package(OpenCV) بدلاً من ذلك (مع تحديد إصدارات متعددة ، تكوين "سريع الحركة" عبر لغة البرنامج النصي ، إلخ).

التغييرات هنا:

هل هناك طريقة لإعادة تقديم دعم pkg-config ؟ يبدو أن ملفات .pc التي تم إنشاؤها حاليًا تعمل مع معظم الإعدادات ولا يستخدم الجميع cmake . يبدو لي أن مجرد وجود قائمة من المكتبات التي يعتمد عليها OpenCV بالإضافة إلى المعلومات التي تكون فيها ملفات الرأس و. so هي بالفعل كافية لمعظم حالات الاستخدام مع pkg-config . أم أن هناك حدود في هذا الصدد؟

الخيار OPENCV_GENERATE_PKGCONFIG = يقوم بتشغيل ملف '.pc'. أعتقد أيضًا أنه يجب إنشاؤه افتراضيًا في أنظمة * nix حيث يتم استخدام pkg-config. لقد اختبرت ملفاتي الثنائية مع ldd وتم ربطها بشكل صحيح. إنه مجرد وقت تطوير يمكن أن تحدث فيه النزاعات. وأعتقد أن نفس المشاكل يمكن أن تحدث مع cmake أيضًا. من الممكن أن تكون أكثر تحديدًا من مجرد -llib. من الممكن تحديد libs بالضبط بواسطة ملف .so.

CMakeLists.txt:

OCV_OPTION(OPENCV_GENERATE_PKGCONFIG  "Generate .pc file for pkg-config build tool (deprecated)" ON)

لا يعمل

codenoid أعتقد أن حجة هذا الخيار هي في الواقع YES

يعتمد ffmpeg على ملفات .pc لتبعية مكتبة opencv ، FWIW ...

أيضًا كملاحظة ، لا يقوم "إجراء التثبيت" بتثبيت ملف .pc ، حتى لو تم إنشاؤه: |

أيضًا كملاحظة ، لا يقوم "إجراء التثبيت" بتثبيت ملف .pc ، حتى لو تم إنشاؤه: |

هل تمكنت من تثبيت ملف .pc؟

نعم ، لقد نسخته يدويًا في.: |

في الثلاثاء ، 15 يناير 2019 الساعة 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 ، فسيتم ربطه بمكتبات لا تحتوي على أرقام إصدارات.
لذا فإن تثبيت 4.0.0-rc بعد 3.4.3 يجعل pkgconfig غير قابل للاستخدام.
سيكون من الرائع لو كان هناك عدة ملفات opencv.pc مثل opencv3.4.pc opencv4.pc

opencv 4.0.1 لديه سؤاله أيضًا ، بعد إجراء التثبيت ، لا يوجد ملف 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 ، وقم بعمل ، ووجدت:

... / unix-install / opencv4.pc

كما ذكر آخرون ، "make install" لا ينسخ الملف في أي مكان تحت / usr / local.
لا يمكنني معرفة المكان الذي يجب أن تذهب إليه opencv4.pc بمجرد قراءة صفحة الدليل pkg-config - في مكان ما أسفل / usr / local ، ولكن أين بالضبط؟

واجهت أيضًا نفس المشكلة حيث لم يتم نسخ make install أكثر من opencv4.pc ، لكنني كنت أستخدم 4.1.0 zip من صفحة الإصدار.

UberEclectic @ Kevin-Mok يجب نسخ ملف opencv4.pc إلى / usr / local / lib / pkgconfig. لا تنس أن تقوم "sudo ldconfig" ، للتأكد من أن مكتبات OpenCV المثبتة حديثًا تؤخذ في الحسبان بشكل صحيح. 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 في حالتي.

نعم ، لقد نسخته يدويًا في.: |
...
يوم الثلاثاء 15 يناير 2019 الساعة 2:20 مساءً Favi0 @ . * > كتب: أيضًا كملاحظة لا يقوم "make install" بتثبيت ملف .pc ، حتى لو تم إنشاؤه: | هل تمكنت من تثبيت ملف .pc؟ - أنت تتلقى هذا لأنك علقت. قم بالرد على هذه الرسالة الإلكترونية مباشرةً ، أو # 13154 (تعليق) > ، أو كتم 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

في يوم الإثنين ، 29 أبريل 2019 ، الساعة 10:26 صباحًا ، كتب s [email protected] :

نعم ، لقد نسخته يدويًا في.: |
… <# m_9070919798374828714_>
يوم الثلاثاء 15 يناير 2019 الساعة 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
.

مفيد إذا لم يتم استخدام CMake في المشاريع التي تستخدم OpenCV

لا تقل أنه مهمل [1] من فضلك

[1]
https://github.com/opencv/opencv/commit/73f65b1ccf220572f8cbad6fe06d19f313892db5

4.1.0 وما يلي لا يولد ملف كمبيوتر
cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=YES -D CMAKE_INSTALL_PREFIX=/usr/local ..

مع 4.1.0 ، جعلها تعمل. لقد وجدت الخطأ في الأمر المقدم سابقًا. تحتاج إلى استخدام ON ، بدلاً من YES.

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

مفيد إذا لم يتم استخدام CMake في المشاريع التي تستخدم OpenCV

لا تقل أنه مهمل [1] من فضلك

[1]
[73f65b1] (https://github.com/opencv/opencv/commit/73f65b1ccf220572f8cbad6fe06d19f313892db5)

أغير وجهة نظري ربما يمكن تسميتها بالإهمال ...

إذن - D OPENCV_GENERATE_PKGCONFIG = خيار التشغيل في cmake تم إهماله الآن؟ كيف يمكننا الحصول على ملفات pkgconfig و opencv.pc بعد ذلك؟

إذن - D OPENCV_GENERATE_PKGCONFIG = خيار التشغيل في cmake تم إهماله الآن؟ كيف يمكننا الحصول على ملفات pkgconfig و opencv.pc بعد ذلك؟

إذا لم تقم بإضافة OPENCV_GENERATE_PKGCONFIG = لم يتم إنشاء تشغيل.

لقد أضفت إلى٪ cmake الخاص بي

-DOPENCV_GENERATE_PKGCONFIG=ON \
-DOPENCV_PC_FILE_NAME=opencv.pc \

بالنسبة لملفات cmake ، يتم تثبيتها في مجلد cmake الافتراضي الذي أضفته:

-DOPENCV_CONFIG_INSTALL_PATH=%{_libdir}/cmake/OpenCV \

من فضلك لا تجبر الجميع على استخدام CMAKE. العديد من المشاريع لا تستخدم CMAKE ولأسباب وجيهة.

لذلك قمت بتثبيت إصدار مستودع AUR من opencv. لم يولد هذا التثبيت أي ملف opencv.pc. يستخدم أحد مشروعي (في C) "pkg-config opencv --libs" كأحد خيارات make. هل هناك طريقة لإنشاء ملف opencv.pc هذا بدون إجراء تحويل من هذا المستودع؟ أرغب في الحصول على نسختين من opencv ، أحدهما يديره Pacman وتثبيت يدوي مثبت على قوسي.

بالنسبة لملفات cmake ، يتم تثبيتها في مجلد cmake الافتراضي الذي أضفته:

-DOPENCV_CONFIG_INSTALL_PATH=%{_libdir}/cmake/OpenCV \

لقد تلقيت تقرير خطأ https://bugzilla.redhat.com/show_bug.cgi؟id=1721876
لذا أستخدم الآن PATH نسبيًا في 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 ، جعلها تعمل. لقد وجدت الخطأ في الأمر المقدم سابقًا. تحتاج إلى استخدام ON ، بدلاً من YES.

OPENCV_GENERATE_PKGCONFIG=ON
....

هذا صحيح لقد اختبرت كليهما. عند استخدام ON ، سينشئ opencv4 ملف opencv4.pc في مجلد ... / pkconfig.

كملاحظة جانبية ، هناك أخطاء أو رمز مهمل في كتب opencv4. كافحت لأيام للحصول على مثال للعمل. أخيرًا حصلت على هذا وهو يعمل:

مؤتمر نزع السلاح ~ / opencv / عينات / كب
g ++ opencv_version.cpp $ (pkg-config --cflags --libs opencv4) -o show_version

مرحبا.

لا أحب وضع -1 على اقتراح مقبول بالفعل (لكنه متحيز) ، ولكن هنا شرح أوسع:

سيكون من الرائع لو كان هناك عدة ملفات opencv.pc مثل opencv3.4.pc opencv4.pc

إذا كان أحد التطبيقات متوافقًا مع opencv2 -> opencv5 (إذا كان سيد المستقبل هو 5) ، فمن السهل الاعتماد على نفس opencv.pc (عند استخدام pkgconf) ، وعدم التكيف بين الحين والآخر.

وجهة نظري لمواصلة استخدام opencv.pc افتراضيًا هي تجنب الاضطرار إلى تكييف التطبيقات في كل مرة يتغير فيها إصدار opencv.pc. لأنه من مشرف حزمة التوزيعات ، يكون من الأسهل إذا استخدم الجميع نفس opencv.pc.
يمكنك مشاهدة # 16902 للتعليقات الأخرى حول هذا الموضوع.

أحاول OPENCV_GENERATE_PKGCONFIG = تشغيل. لكن لا يعمل.
أحاول OPENCV_GENERATE_PKGCONFIG = نعم. لكن لا يعمل.
أحاول -DOPENCV_GENERATE_PKGCONFIG = تشغيل. لكن لا يعمل.
opencv 4.3.0
أقوم بتثبيت opencv على طريقي المحلي. مثل / data / home / xxx / opencv. أنا استخدم الصنع والتثبيت. أو إجراء التثبيت. كلاهما لا يعمل.
أستسلم. سأضيف lib وأدرج الملف إلى makefile.

في خيار cmake تحتاج إلى وضع -DOPENCV_GENERATE_PKGCONFIG = تشغيل
ثم بعد تنفيذ أمر الإنشاء ، ستجد في مجلد الإنشاء مجلدًا باسم نظام التشغيل (أنا حالتي "unix") بداخل ملف .pc

Usernamezhx

لم تنسَ خيار "-D" ، أليس كذلك؟

لطالما كان لدي مسافة بعد -D كما في المستندات ، مثل:
-D OPENCV_GENERATE_PKGCONFIG = تشغيل

ولكن يبدو أن الكتابة بدون الفراغ تعمل أيضًا:
-DOPENCV_GENERATE_PKGCONFIG = تشغيل

ما يلي هو اقتباس من نص التثبيت الخاص بي ويعمل جزء cmake بشكل نهائي مع opencv 4.2.0. هذا الاقتباس ليس نص تثبيت كامل بأي وسيلة. لدي الكثير من المكتبات المثبتة بشكل منفصل قبل ذلك ، لذا فأنت بحاجة إلى عمل برنامج نصي خاص بك لأغراضك الخاصة. لا تنس ldconfig في النهاية لأن ذلك ينهي بعض عناصر التثبيت على Linux. قد تحتاج أيضًا إلى تعديل مساراتك في ~ / .bashrc. أولاً ، نقل الأشياء التي تم تنزيلها إلى مجلد opencv ثم إلخ ...

فتح mv-4.2.0 opencv
مؤتمر نزع السلاح opencv
بناء مكدير
بناء القرص المضغوط

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_KBE = 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_PERF_TESTS = ON -D BUILD_opencv_Python3 = ON -D .

جعل -j6
sudo جعل التثبيت
سودو لدكونفيغ

تحقق من مكان opencv4.pc الخاص بك:

تحرك أولاً على طول الطريق ، مرتين من منزلك باستخدام
قرص مضغوط ..
قرص مضغوط ..

ثم:

sudo البحث عن اسم opencv4.pc

يجب أن تجد بعض مجلدات pkg مع هذا:

البحث عن sudo -name pkgconfig

أتمنى أن يساعدك هذا.

ملاحظة. يجب أن تكون نسخة cmake الموجودة في رسالتي السابقة عبارة عن سطر واحد متصل بدون فواصل أسطر. فقط أضف فواصل أسطر مناسبة إذا كنت تريد تقسيمها يدويًا إلى عدة أسطر.
بمجرد أن تعتقد أن لديك opencv مثبتًا بشكل صحيح ، يمكنك اختباره ، انتقل أولاً إلى مجلد عينات cpp مثل:

مؤتمر نزع السلاح ~ / opencv / عينات / كب

قم بتجميع الملف opencv_version.cpp إلى ملف تشغيل يسمى show_my_version

g ++ opencv_version.cpp $ (pkg-config --cflags --libs opencv4) -o show_my_version

وتشغيله: ./show_my_version

تضمين التغريدة إنها تعمل. غاية في الروعة. شكرا لردكم التفضل.

واجهت مشكلة مماثلة بعد تثبيت OpenCV 4.2.0 ولم أتمكن من العثور على طريقة لتجميع برنامج c ++ باستخدام CMakeLists.txt. كان لدي إصدارات أخرى من OpenCV مثبتة أيضًا ، لذا كان علي توفير مسار محدد للمترجم. تم تعيين التكوينات pkg وتمكنت من تحديد opencv4 بفضل الحل المنشور أعلاه لبناء OpenCV مع _ -D OPENCV_GENERATE_PKGCONFIG=YES _> على الرغم من أنه اضطر إلى تصدير مسار ملف 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 لم يضع ملفي Config.cmake و Config-version.cmake في مجلد share / directory. بدلاً من ذلك ، تم وضعهم في دليل / lib / cmake / opencv4 / منفصل. الآن يمكنني تجميع جميع البرامج باستخدام cmake. -DOpenCV_DIR=(yopur opencv installation location)/opencv4/lib/cmake/opencv4 وكل شيء يعمل بشكل مثالي!

أضفت أيضًا find_package( OpenCV 4.2.0 REQUIRED ) في CMakeLists.txt. لست متأكدًا مما إذا كانت هذه هي أفضل طريقة ولكن آمل أن تساعد الآخرين!

مرحبا،
لقد جربت الاقتراحات أعلاه (بفضل dalilander وhardikparwana) ، لكن لم ينجح أي منها. التثبيت هو: Raspberry PI 4 ARMv7l، Centos 7.
OpenCV هو الأحدث المتاح في مستودع GitHub ، الإصدار 4.4 https://github.com/opencv/opencv/

لقد جمعت openCV كما في الأمر أدناه. لقد حاولت أيضًا ... = ON كما في ... -D OPENCV_GENERATE_PKGCONFIG = نعم

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-ON_ BUENMPLES ..

ثم اتبعت خطوات التثبيت ،

make -j4 (في حالتي 4)
sudo جعل التثبيت
sudo ln -s /usr/local/lib64/pkgconfig/opencv4.pc / usr / share / pkgconfig /
سودو لدكونفيغ
pkg-config - فتح الإصدار 4

ثم تقوم بإرجاع الخطأ أدناه

Rasp build] $ pkg-config - modversion opencv4
لم يتم العثور على Package opencv4 في مسار البحث pkg-config.
ربما يجب عليك إضافة الدليل الذي يحتوي على "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 لا يوجد Config-version.cmake في دليل share / أو / lib. لا توجد حتى في نظام الملفات بأكمله. بالمناسبة ، لاحظت أن أمثلتك تخص Ubuntu ، ونظام التشغيل الخاص بي هو 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.

يبدو أن لدي إصدارًا سابقًا من OpenCV ، والذي قمت بتثبيته من نظام مدير YUM pkg.

سأقوم بتنظيف هذا الإصدار ، والبدء من الصفر في إدراج OpenCV جديد من المصدر 4.2.

افضل الأمنيات،
أنا

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

opencv-pushbot picture opencv-pushbot  ·  3تعليقات

opencv-pushbot picture opencv-pushbot  ·  3تعليقات

wmfuture picture wmfuture  ·  3تعليقات

willyd picture willyd  ·  3تعليقات

charlesxwang picture charlesxwang  ·  3تعليقات