2013-09-24 8 views
7

पृष्ठभूमि के माध्यम से, मैं काम कर रहे इमू सीवी उदाहरणों में से एक प्राप्त करने की कोशिश कर रहा हूं। यह Motion Detection examplethe answer to "Looking for a function for motion detection on emgucv""हमेशा कॉपी करें" समाधान सामग्री (डीएलएल) निष्पादन योग्य निर्देशिका रूट

में उल्लेख किया है काम कर रहा परियोजना के लिए Emgu सीवी DLLs के लिए संदर्भ जोड़ सकते हैं और यह भी सुनिश्चित करें कि प्रासंगिक ओपन सीवी DLLs परियोजना के उत्पादन निष्पादन निर्देशिका को कॉपी कर रहे हैं बनाने की जरूरत है उदाहरण के कोड प्राप्त करने के लिए है निर्माण। प्रासंगिक DLL सूचीबद्ध हैं on the EMGU wiki

मैं सामग्री गुण में उदाहरण परियोजना के लिए सामग्री के रूप में उन्हें जोड़ने और उन्हें "हमेशा कॉपी" के रूप में चिह्नित करके ओपन सीवी DLLs जोड़ रहा:

Content properties in VS2012 set to "Copy always"

मैं इन को अव्यवस्थित नहीं करना चाहते

Solution Explorer showing project folder with DLLs in

हालांकि जब मैं परियोजना DLLs समान निर्देशिका के साथ कॉपी कर रहे हैं का निर्माण: परियोजना के रूट स्तर तो मैं इन DLLs डाल करने के लिए एक परियोजना फ़ोल्डर जोड़ लिया है पदानुक्रम, यानी वे निष्पादन निर्देशिका के भीतर एक फ़ोल्डर संलग्न करना है जो मैं करना नहीं चाहता:

File Explorer showing directory containing the DLLs

क्या गुण मैं सुनिश्चित करना है कि DLLs निष्पादन निर्देशिका में बल्कि उसकी जड़ में नकल कर रहे हैं स्थापित करने के लिए की जरूरत है एक उप निर्देशिका में से?

========== संपादित ==========

ध्यान दें कि मैं नहीं इन DLLs संदर्भ के रूप में परियोजना के रूप में वे न तो नेट विधानसभाओं हैं जोड़ सकते हैं और न ही COM घटक लेकिन ओपन सीवी सी ++ पुस्तकालय।

उत्तर

3

हमारे समूह, बजाय परियोजना के लिए फ़ोल्डर जोड़ने की आप के लिए इसी तरह एक फ़ोल्डर में फ़ाइलें रखता है तथापि, हम अपने फ़ोल्डर के शीर्ष स्तर पर एक लिंक के रूप में आइटम जोड़कर अपने मुख्य परियोजना में इन DLLs संदर्भ :

:

Image of adding items as a link

पहले की तरह, सामग्री और कॉपी हमेशा (एक समाधान फ़ोल्डर में दिखाया गया आइटम) के रूप में प्रत्येक आइटम सेट

फिर जब आप का निर्माण वे अपने उत्पादन डायरेक्टरी में कर देगा: - आप अभी भी उन्हें अपने मुख्य परियोजना में देखते हैं -

output directory

यह रूप में सुंदर नहीं है, लेकिन यह कम से कम उन्हें सही जगह पर रखता है।

3

काम पर किसी अन्य डेवलपर से बात करते हुए वह एक और कामकाज का उपयोग करता है।उन्होंने कहा कि एक परियोजना फ़ोल्डर में DLLs रहता है और फिर निष्पादन के साथ निर्देशिका में DLLs कॉपी करने के लिए परियोजना की संपत्ति पन्नों में एक के बाद निर्माण घटना जोड़ता है:

copy/b/y "$(ProjectDir)Libs\*.dll" "$(TargetDir)" 

user7116's advice और अपने साथी के महान कामकाज से जुड़े हैं, लेकिन मैं कर रहा हूँ इस सवाल को खोलने के लिए जा रहा है कि किसी व्यक्ति को डिस्क्वर (या माइक्रोसॉफ्ट जोड़ता है) वास्तव में सामग्री फ़ाइलों पर गुणों को सेट करने का एक तरीका है ताकि यह सुनिश्चित किया जा सके कि डीएलएल को उप निर्देशिका में बजाय निष्पादन निर्देशिका की जड़ में कॉपी किया गया हो।

संबंधित मुद्दे