نمایش نتایج 1 تا 4 از 4

نام تاپیک: مشکل در ساخت Dll از یک Header

  1. #1
    کاربر دائمی آواتار littledemon
    تاریخ عضویت
    فروردین 1385
    محل زندگی
    شهر سردار خیبر : شهید همت
    پست
    154

    مشکل در ساخت Dll از یک Header

    با سلام بر کلهم اجمعین
    یه مشکلی برام پیش اومد در ساخت dll در C++‎
    میشه گفت در واقع سواله ...نمیدونستم کجا بپرسم
    من یه فایل هدر دارم که توش یه سری متد هست ولی خالیه ...کد داخل متد ها نیست !
    از 4-5 تا فایل lib هم استفاده کرده این هدر...حالا من میخوام اینو تبدیل به یه dll کنم ولی نمیدونم چطور و ایا کار ارجاع و استفاده از lib ها رو تو dll باید خودم اعمال کنم یا نه ...
    به طور کلی چیز خاصی از ساخت dll در C++‎ نمیدونم...

    ممنون میشم یه ادرسی بدید یا راهنمایی کنید.

    بدرود

  2. #2

    نقل قول: مشکل در ساخت Dll از یک Header

    خوب این کار خیلی راحت هستش.
    یه پروژه dll ایجاد میکنی و فایل هدرت رو میسازی و کدهای توابع هدر رو داخل فایل cpp قرار میدی. فقط باید به یک نکته دقت کنی که قبل از اسم توابع و کلاسها باید از کلمه کلیدی زیر استفاده کنی:

    برای MSVC:
    __declspec( dllexport )


    برای gcc:
    __attribute__ ((visibility("default")))


    البته اگر بخوای راحتر باشی و مشکل کراس پلتفری نداشته باشی میتونی اون رو به صورت یک define تعریف کنی. مثلا:

    #define MY_API __declspec( dllexport )


    و دست آخر هم به صورت زیر هدرها رو مینویسی:
    class MY_API myclass
    {
    ....
    };


    خوب حالا اگر کدت رو کامپایل کنی. به اسم پروژت یک dll و یک فایل lib تولید میشه. اونها رو توس مسیر پروژه ای که میخوای ازش استفاده کنی کپیش کن. برای استفاده از dll کافیه هدر فایل اون و کتابخانه lib اون رو توی پروژت اضافه کنی.

    در مورد استفاده از فایلهای lib یا باید از setting پروژه استفاده کنی و یا اینکه اونها رو به صورت مستقیم داخل کد واردشون کنی:

    برای MSVC:
    #pragma comment(lib,"mydll.lib")


    کد بالا رو توی فایلهای cpp قرار بده. این فایل Lib بعد از کامپایل برنامت لازم نیستش و لازم نیست که اون همراه فایل exe باشه و تنها فایل dll کافیه.

  3. #3

    نقل قول: مشکل در ساخت Dll از یک Header

    حالا اگر هدر فایلمون precompiled header باشه چی؟
    یعنی ما فقط تعریف توابع رو می بینیم و کدهای توابع در دسترس نیستند این کارایی که گفتید ارر می دن

  4. #4

    نقل قول: مشکل در ساخت Dll از یک Header

    در ابتدا یک پروژه خالی ایجاد کنید و ...

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •