Openmvg: خطأ في التجميع في Mint / Ubuntu 14.04

تم إنشاؤها على ٢٢ أغسطس ٢٠١٦  ·  5تعليقات  ·  مصدر: openMVG/openMVG

مرحبًا ، كنت أحاول إنشاء OpenMVG على النظام الأساسي Mint / Ubuntu 14.04 ، لكنني واجهت بعض أخطاء التجميع ، والتي يبدو أنها مرتبطة بـ gcc (4.7):

/usr/include/c++/4.7/bits/stl_tree.h:130:12: خطأ: استخدام الوظيفة المحذوفة 'constexpr std :: pair <_t1 i = "5"> :: pair (const std :: pair <_t1 i = "6"> &) [with _T1 = const unsigned int؛ _T2 = الأمراض المنقولة جنسياً :: unique_ptropenMVG :: features :: المناطق ؛ الأمراض المنقولة جنسيا :: زوج <_t1 i = "7"> = الأمراض المنقولة جنسيا :: زوج>] "

/usr/include/c++/4.7/bits/stl_pair.h:119:17: خطأ: استخدام الوظيفة المحذوفة 'std :: unique_ptr <_tp i = "10"> :: unique_ptr (const std :: unique_ptr <_tp i = "11"> &) [with _Tp = openMVG :: features :: المناطق ؛ _Dp = std :: default_deleteopenMVG :: features :: المناطق؛ std :: unique_ptr <_tp i = "12"> = std :: unique_ptropenMVG :: features :: المناطق] '
في ملف مضمن من /usr/include/c++/4.7/ memory: 86 : 0 ،

/usr/include/c++/4.7/bits/unique_ptr.h:262:7: الخطأ: أعلن هنا

شكرا مقدما!

build question

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

خضت هذه المشكلة بنفسي مع GCC 4.7. يدعم GCC> = 4.8 فقط النطاق الكامل لميزات c ++ 11 ، وعمليات النقل فوضوية تمامًا. يجب تطبيق عدد من التعديلات فيما يتعلق بمعالجة المؤشر الفريدة على OpenMVG لجعله متوافقًا.
https://gcc.gnu.org/bugzilla/show_bug.cgi؟id=53584

أعتقد أن المشكلة المنشورة مأخوذة من ملفات مصدر موفر sfm _ * _. الحل الأسهل هو استبدال كل unique_ptr بـ shared_ptr في هذه الرؤوس.

ال 5 كومينتر

نظرًا لأن Unique_ptr مدعوم من GCC 4.4.7 ليس لدي أي فكرة حتى الآن.

rperrot أي فكرة؟

فقط لإجراء بعض التحقيقات ، هل يمكنك تزويدنا بمزيد من التفاصيل:
1) هل يمكن أن تعطينا رسالة أكثر اكتمالاً حول التجميع (أريد أن أعرف أين الخطأ ، هل هو OpenMVG أو تبعيات OpenMVG ذات الصلة؟)
2) ما هو الفرع الذي استخدمته؟

pmoulon الانطباع الأول ، ربما يتعلق الأمر

خضت هذه المشكلة بنفسي مع GCC 4.7. يدعم GCC> = 4.8 فقط النطاق الكامل لميزات c ++ 11 ، وعمليات النقل فوضوية تمامًا. يجب تطبيق عدد من التعديلات فيما يتعلق بمعالجة المؤشر الفريدة على OpenMVG لجعله متوافقًا.
https://gcc.gnu.org/bugzilla/show_bug.cgi؟id=53584

أعتقد أن المشكلة المنشورة مأخوذة من ملفات مصدر موفر sfm _ * _. الحل الأسهل هو استبدال كل unique_ptr بـ shared_ptr في هذه الرؤوس.

كما قال donlk :

يرجى تحديث GCC الخاص بك ، فبعض التعديلات الأخيرة تجعل OpenMVG يتطلب GCC> = 4.8
تم تحديث تعليمات البناء في فرع التطوير ، انظر هنا https://github.com/openMVG/openMVG/blob/develop/BUILD#L24

شكرا على الردود! باستخدام GCC-4.8 حل المشكلة

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