2009-07-01 12 views
12

मेरे पास इस पुस्तकालय को BASS कहा जाता है जो एक ऑडियो लाइब्रेरी है जिसे मैं माइक्रोफ़ोन के साथ रिकॉर्ड करने के लिए उपयोग करने जा रहा हूं। मेरे पास इसका उपयोग करने के लिए आवश्यक सभी फाइलें हैं, लेकिन मुझे नहीं पता कि लाइब्रेरी को कैसे इंस्टॉल किया जाए। मैंने उदाहरण फाइलों को लेने और bass.h फ़ाइल के समान निर्देशिका में डालने का प्रयास किया। लेकिन मुझे त्रुटियों का एक गुच्छा मिला कि कह रहा है कि फ़ंक्शन कॉल मौजूद नहीं हैं।मैं एक सी ++ लाइब्रेरी कैसे स्थापित करूं ताकि मैं इसका उपयोग कर सकूं?

तो मेरा सवाल यह है कि, मैं इसका उपयोग करने में सक्षम होने के लिए इसे कैसे इंस्टॉल करूं?

+0

आप किस शिकायत/आईडीई का उपयोग करते हैं? क्या यह विजुअल स्टूडियो, डेव ++, कोड :: ब्लॉक, और कुछ है? – kkaploon

+0

अधिकांश पुस्तकालय नमूना परियोजनाओं के साथ आते हैं। क्या आपने इनमें से किसी एक को बनाने के निर्देश दिए हैं? –

+1

@kkaploon, मैं अपने कंपाइलर के रूप में MinGW के साथ ग्रहण सीडीटी का उपयोग करता हूं। – rzetterberg

उत्तर

9

एक सी स्थापित कर रहा है ++ पुस्तकालय रुचि सॉफ्टवेयर को निर्दिष्ट करने के साधन फ़ाइलों के दो प्रकार के स्थान (जैसे एक संकलक।): संकलित वस्तुओं हेडर (विशिष्ट एक्सटेंशन * ज या .hpp) और ( .dll या * उदारीकरण उदाहरण के लिए)।

शीर्षलेखों में लाइब्रेरी लेखकों द्वारा डेवलपर के सामने आने वाली घोषणाएं शामिल होंगी, और आपका प्रोग्राम उन्हें अपने स्रोत कोड में शामिल करेगा, डीएलएल में संकलित कोड होगा जो आपके प्रोग्राम द्वारा एक साथ जोड़ा जाएगा या उपयोग किया जाएगा, और वे लिंकर द्वारा पाए जाएंगे (या गतिशील रूप से लोड हो जाएंगे, लेकिन यह एक और कदम है)।

तो तुम,

1) put the header files in a location which your compiler is aware of (typically IDE allows to set so-called include directories, otherwise you specify a flag like "-I<path-to-headers>" when invoking the compiler) 
2) put the dll files in a location which your linker is aware of (surely your IDE will allow that, otherwise you speficy a flag like "-L<path-to-libraries> -l<name-of-libraries>" 

अंतिम करने की जरूरत है, लेकिन कम से कम नहीं के बाद से मुझे लगता है कि BASS पुस्तकालय एक वाणिज्यिक उत्पाद है, शायद वे उपलब्ध कराया है जाएगा कुछ स्थापना के निर्देश?

1

यदि configure नामित फ़ाइलें हैं, Makefile या install आप उन्हें उस क्रम में चलाने का प्रयास कर सकते हैं।

c++ <your_program.cpp> -l<library_name> -L<path_where_library_is_installed> 

पुस्तकालय पथ आमतौर पर, मूल पुस्तकालय ही फ़ोल्डर है जब तक आप स्पष्ट यह या लाइब्रेरी में ही अपनी फ़ाइलों डालता बदलने के लिए: उसके बाद, किसी भी कार्यक्रम इस पुस्तकालय के साथ लिंक करना चाहता है कि इस तरह एक कमांड का उपयोग करना चाहिए वैश्विक स्थानों जैसे /usr/local या ऐसा कुछ।

+1

चूंकि वह विंडोज मिनजीडब्ल्यू निर्दिष्ट करता है यह शुरुआती के लिए बहुत स्पष्ट नहीं लगता है ... – Francesco

4

कोड नीचे कोड देखें और अपनी exe फ़ाइल की निर्देशिका में bass.dll डालना न भूलें और अपनी परियोजना के साथ फ़ाइल bass.lib शामिल करें और bass.h और बास के पथ को शामिल करने के लिए भी न भूलें डिफ़ॉल्ट रूप से .lib में शामिल हैं और आपके प्रोजेक्ट का lib पथ।

#include <iostream> 
#include "bass.h" 

using namespace std; 

int main(int argc, const char **argv) 
{ 
    if (!BASS_Init(-1, 44100, 0, NULL ,NULL)) 
    { 
    cout<<"Can't initialize device"; 
    return -1; 
    } 

      int stream = BASS_StreamCreateFile(false, "D:\\mypro\\Trans_Langs\\germ\\quran_amma\\Translations\\Sound_aya\\Sora1\\Hafs\\basfar\\a7.mp3", 0L, 0L, 0); 
      if (stream != 0) 
      { 
       // play the stream channel 
       BASS_ChannelPlay(stream, false); 
      } 
      else 
      { 
       // error creating the stream 
       cout<<"Stream error: {0}", BASS_ErrorGetCode(); 
      } 

    getchar(); 

      BASS_StreamFree(stream); 
      // free BASS 
      BASS_Free(); 

return 0; 
} 
0

इस आदेश को टर्मिनल या कंसोल में चलाएं।

#include<...> search starts here: 

कि रेखा से नीचे निर्देशिका की एक सूची होगी:

cpp -v 

उत्पादन के अंत में सूचना, तो आप इस तरह की एक पंक्ति दिखाई देगी। पैकेज फ़ोल्डर को उन निर्देशिकाओं में से किसी एक पर ले जाएं। फिर मॉड्यूल को <> के साथ आयात करने का प्रयास करें।

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

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