كيف يمكنني تثبيت ج ++ مكتبة حتى أتمكن من استخدامه؟

StackOverflow https://stackoverflow.com/questions/1069602

سؤال

ولدي هذه المكتبة تسمى BASS وهي المكتبة الصوتية التي انا ذاهب الى استخدامها لتسجيل مع الميكروفون. لدي كل الملفات المطلوبة لاستخدامه، ولكن لا أعرف كيفية تثبيت المكتبة. حاولت أخذ الملفات سبيل المثال ووضعها في نفس الدليل كملف bass.h. ولكن أنا حصلت على مجموعة من الأخطاء قائلا هناك دعوات وظيفة لا وجود له.

ولذا سؤالي هو، كيف يمكنني تثبيته لتكون قادرة على استخدامها؟

هل كانت مفيدة؟

المحلول

وتركيب C ++ وسائل مكتبة تحديد البرمجيات مهتما موقع نوعين من الملفات (على سبيل المثال مترجم): رؤوس (ملحقات نموذجية * .H أو <م> .hpp) والأشياء جمعت (. DLL أو * .LIB على سبيل المثال).

ورؤوس سيحتوي الإعلانات يتعرض للمطور من قبل المؤلفين مكتبة، والبرنامج سوف تتضمن # لهم في شفرة المصدر، فإن دلل يحتوي على التعليمات البرمجية المترجمة التي سيتم أو مرتبطة معا، وتستخدم من قبل البرنامج، و سيتم العثور عليها من قبل رابط (أو تحميلها بشكل حيوي، ولكن هذا هو خطوة أخرى).

ولذا تحتاج إلى

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 هو منتج تجاري، وربما سيكون لديهم تتاح بعض تعليمات التثبيت؟

نصائح أخرى

وراجع التعليمات البرمجية أدناه رمز وارتداء لا تنسى أن تضع bass.dll في الدليل من ملف إكس وتشمل bass.lib ملف مع المشروع الخاص بك ودون لا ننسى أيضا تضمين المسار إلى bass.h والبص. ليب في الافتراضي تشمل ومسار تحرر من المشروع.

#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;
}

وإذا كان هناك الملفات المسماة configure، Makefile أو install يمكنك محاولة تشغيلها في هذا النظام. بعد ذلك، أي البرنامج الذي يريد ربط مع هذه المكتبة يجب أن تستخدم أمر مثل هذا:

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

والمسار مكتبة عادة مجلد مكتبة الأصلي نفسه، ما لم تقم بتغييره بشكل صريح أو المكتبة نفسها يضع ملفاته في مواقع عالمية مثل /usr/local أو شيء من هذا القبيل.

وتشغيل هذا الأمر في محطة أو وحدة التحكم.

cpp -v

لاحظ في نهاية الإخراج، سترى خط مثل هذا:

#include<...> search starts here:

وسوف تكون هناك قائمة من الدلائل تحت هذا الخط. نقل المجلد الحزمة إلى واحدة من تلك الدلائل. ثم حاول استيراد وحدة مع <>.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top