Openmvg: استخدام openMVG dll في VS Visual Studio Team Services

تم إنشاؤها على ٢٥ يوليو ٢٠١٧  ·  6تعليقات  ·  مصدر: openMVG/openMVG

عزيزي بيير ،
شكرا لعملك الرائع. أنا الآن أستخدم openMVG كملف dll لتطوير تطبيق SfM GUI ، لكن لا يمكنني معرفة كيفية استخدام CMake Build من OpenMVG كبرامج في Visual Studio Team Services. عندما أتحقق من openMVG في Team Services وفتحه ، يظهر أنه لا يمكنني استخدام git إلا لتعديل التعليمات البرمجية في Visual Studio 2015. هذا يدفعني للجنون ، أي اقتراح؟

مع أطيب التحيات،
شيرمان

question

ال 6 كومينتر

عزيزي learnmano.
لا أعرف Visual Studio Team Services ، فأنا دائمًا أستخدم git في وضع سطر الأوامر.

rperrot أي فكرة عن هذا؟

لست متأكدا من القبض على سؤالك.
هل سؤالك حول استخدام OpenMVG كطرف ثالث في مشروع؟

أو
هل سؤالك إذا كان حول مشكلة VisualStudio لتحرير الكود؟

لقد استخدمت TS مرة واحدة فقط لاختبار git. يبدو وكأنه خادم CI / CD كبير به أدوات إضافية (مثل gant ، إدارة منتج backlog ، ...)

تتمثل إحدى الأفكار في إنشاء قرص مضغوط لـ openMVG dll لتوفير أحدث الإنشاءات كحاوية (كما يمكن القيام به في عامل الإرساء) ولكن يبدو الأمر معقدًا بعض الشيء ومبالغة في التطوير بهذه الطريقة.

learnmano أعتقد أنه من الأفضل تجميع الكود محليًا وتطوير أداتك داخل شجرة مصدر openMVG (في برنامج dir على سبيل المثال) أو استخدامها كطرف ثالث كما اقترح pmoulon .

عزيزي pmoulon ،
نعم ، سؤالي حول استخدام OpenMVG كطرف ثالث في مشروع ، ولكن بطريقة dll ، وليس بطريقة مكتبة ثابتة. لقد استخدمت OpenMVG كمكتبة تابعة لجهة خارجية من قبل ، وأضيف أيضًا بعض التعليمات البرمجية الإضافية لجعلها مكتبات dll ، يبدو أنها تعمل بشكل جيد محليًا على جهاز الكمبيوتر الخاص بي ، ولكن ليس جيدًا على جهاز كمبيوتر آخر ، لأن المسار مختلف. سأترك ردًا عندما أحلها. لا أستطيع أن أشكرك أكثر على وقتك وصبرك.

rperrot حسنًا ، فهمت. سأقوم بتجميع الكود محليًا وتطوير أداتي داخل شجرة مصدر openMVG. شكرا لك على نصيحتك ، إنها مفيدة للغاية.

الرجاء إغلاق المشكلة بمجرد نجاحك.
راجع للشغل ، يسعدنا أن نجعل إنشاء DLL فعالاً لنظام التشغيل Windows.
أي تعليق حول التغييرات الخاصة بك أو العلاقات العامة بخصوص هذا سيكون لطيفًا 😄

آسف على التأخير ، تم حل المشكلة بنجاح. لأنني لا أفهم كيفية استخدام OpenMVG كمكتبة طرف ثالث بالطريقة التي ذكرها ملف BUILD ، لذلك قمت بتغيير شفرة مصدر openMVG قليلاً.
أبدأ برنامجًا جديدًا في VS Visual Studio Team Services ، وأستخدم بعض برامج openMVG كمكتبة dll. على سبيل المثال ، بالنسبة إلى openMVG_main_ComputeMatches ، أضفت ملفًا رئيسيًا جديدًا باسم main_ComputeMatches.h ، وأضف بعض التعليمات البرمجية الإضافية مثل:

#pragma once
#ifdef OPENMVGDLL_COMPUTEMATCHES_EXPORTS
#define MVGCOMPUTEMATCHES_API __declspec(dllexport)
#else
#define MVGCOMPUTEMATCHES_API __declspec(dllimport)
#endif

class MVGCOMPUTEMATCHES_API CSfMComputeMatches
{
public:
//change the main() function to compute_matches()
int compute_matches(int argc, char **argv);

};

ثم أقوم بإضافة سطرين في البداية في ملف cpp المقابل:

#define OPENMVGDLL_COMPUTEMATCHES_EXPORTS
#include "main_ComputeMatches.h"

بعد تغيير المسار المطلق إلى المسار النسبي ، أستخدم فقط openMVG كمكتبة طرف ثالث ، وهي تعمل بشكل جيد ، كما هو الحال مع VS Visual Studio Team Services. لكنني لا أعتقد أنه مفيد جدًا لجعل إنشاء DLL فعالًا لنظام التشغيل Windows ، لأن هذه الطريقة محدودة. شكرا لكم جميعا على صبركم وحماسكم. أغلق هذه المسألة ، مرة أخرى ، شكرا جزيلا لك.

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