آخرين ارسالهاي تالار

موضوع هاي بيشتر »

Exe کردن در Matlab مشاهده در قالب PDF چاپ فرستادن به ایمیل
نوشته شده توسط admin   
شنبه, 29 مرداد 1390 ساعت 22:00

Exe کردن در Matlab امکان پذیر است. راههای مختلفی برای ساختن فایل اجرایی وجود دارد اما راحت ترین کار استفاده از کامپایلر ویژوال C++ می باشد. برای اینکار بایستی ابتدا ویژوال C را روی کامپیوتر خود نصب کنید.

کامپایلر مطلب در حال حاضر فقط قادر است توابع را کامپایل کند. اسکریپتها قابل کامپایل شدن نیستند بنابراین اگر برنامه شما اسکریپت است بهتر است آنرا به تابع تبدیل کنید. البته می توانید در درون تابع یک فایل اسکریپت را فراخوانی کنید اما بهتر است همه فایلهای شما تابع باشند. می توانید حتی برنامه های نوشته شده به زبان C را با برنامه های مطلب مخلوط کنید.

برای ساختن فایل اجرایی در مطلب 7 به بعد مراحل زیر را دنبال کنید:

 


1- C++ را روی کامپیوتر خود نصب کنید. جعبه ابزار Matlab Compiler نیز بایستی قبلا 
با مطلب نصب شده باشد.
2- دستور زیر را اجرا کنید و مراحل را دنبال کنید (اجرای این دستور فقط یک بار نیاز است و بعد از آن نیازی نیست که برای هر بار فایل اجرایی ساختن این دستور را اجرا کنید):

mbuild -setup

3- به مسیری بروید که تابع شما در انجاست و دستور زیر را اجرا کنید. مثلا اگر نام تابع شما myfun.m است دستور زیر تابع را کامپایل کرده و فایلی اجرایی به نام myfun.exe ایجاد خواهد کرد:


mcc -m myfun.m

برای اطلاعات بیشتر می توانید به  help جعبه ابزار MATLAB Compiler قسمت Stand-Alone Applications مراجعه کنید.

 

برای اجرا کردن فایل exe ، کامپیوتر مقصد باید دارای یکی از شرایط زیر باشد:

  • نرم افزار Matlab و همچنین جعبه ابزار Matlab Compiler (که دارای نگارش یکسانی با Matlab compiler ای که بر روی کامپیوتر مبدا برای تولید فایل exe استفاده شده) بر روی کامپیوتر نصب شده باشد. لطفا فراموش نشود که Matlab Compiler را بر روی کامپیوتر مقصد نیز setup کرده باشید، یعنی برای یکبار این دستور را اجرا کنید

mbuild -setup

  • نرم افزار Matlab و همچنین جعبه ابزار Matlab Compiler بر روی کامپیوتر مقصد نصب شده باشد، ولیکن Matlab Compiler دارای نگارش یکسانی با آن Matlab Compiler ای که در مبدا استفاده شده، نباشد. در نتیجه باید MCR نیز بر روی کامپیوتر مقصد نصب نمود. (توجه کنید که MCR تون رو از روی همون کامپیوتر مبدا بردارید تا دوباره مشکل یکسان نبودن نگارش‌های MCR نیز پیش نیاد)
  • نرم افزار Matlab نصب هست ولیکن جعبه ابزار Matlab Compiler نصب نیست. در این مورد نیز کافیست که MCR رو نصب کرد. (توجه کنید که MCR تون رو از روی همون کامپیوتر مبدا بردارید تا دوباره مشکل یکسان نبودن نگارش‌های MCR نیز پیش نیاد)
  • اصلا خود نرم افزار Matlab هم نصب نیست. در این مورد نیز کافیست که MCR نصب بشه (توجه کنید که MCR تون رو از روی همون کامپیوتر مبدا بردارید تا دوباره مشکل یکسان نبودن نگارش‌های MCR نیز پیش نیاد)

 

منبع: http://keshavarz.org

نظر ها (39)
  • خلیلی  - کمک
    سلام
    خسته نباشید
    من ده مشکل دارم. وقتی از دستور mbuild و سپس mcc استفاده می کنم فایلی با پسوند ctf و _mcc_component_data.c ایجاد نمی شه. شما می دونید علتش چیه؟
  • رضا  - problem
    با سلام من مطلب r2008 رو بر روی سیستم داشتم نصب می کردم(روی سیستم عامل 7) بعد از 54 درصد پر کردن برنامه با خطای matlab compiler 4.8 بر خوردم. میشه یک راهنمایی بکنید.مرسی
  • maryam  - اشکال در ایجاد فایل exe در متلب
    سلام خسته نباشید
    من می خوام کد متلب رو به ++c تبدیل کنم .ظاهرا باید از دستور mbuild و mcc استفاده کنم. تو سایت http://vahidabrishami.blogfa.com/post-6.aspx روند کار رو گفته و گفته که باید یه سری فایل بعد از اجرای دستور mcc ایجاد بشه. وقتی از دستور mcc استفاده می کنم متلب همه این فایلها رو ایجاد میکنه بجز دو فایل با پسوند ctf و _mcc_component_data.c .
    کسی میدونه چرا اینا ایجاد نمیشن و باید چه کنم.

    البته من بدون داشتن این دو فایل مراحل گفته شده برای ++c رو اجرا کردم که یه پیام خطا به صورت زیر ظاهر شد:
    'mclInitializeApplication_proxy': identifier not found
  • admin  - روش اصلی
    اگر به نسخه 2007 متلب دسترسی دارید برنامه رو اجرا کنید. به مشکل بر نخواهید خورد.
    MATLAB Compiler 4.7 (R2007b)
  • maryam  - سوال
    سلام
    ممنون از اینکه به سرعت پاسخم رو دادید. ولی من از نسخه R2010b استفاده کردم که ظاهرا باید ورژن کاملتری باشه و این مشکل رو پیدا کردم.یعنی فقط ورژن 2007 مشکل نداره؟
  • admin
    دقیقا همینطوره
    یعنی مشکل از Compiler 4.8 (R2008a) به بعد پیش میاد
    البته برای نسخه های جدید راه حل هایی هم پیشنهاد شده که شاید یه کم پیچیده باشه.
    http://kchris.byus.net/category/Programming/MATLAB

    ساده ترین پیشنهاد نصب نسخه قبلیه. :wink:
  • mskhalili
    سلام
    واقعا ممنون از اینکه اینقدر سریع پاسم رو دادید.
    کاری رو که گفتید انجام می دم ولی اگر به مشکل برخوردم بازم پیام میذارم و لطفا شما همچنان سریع الپاسخ باشید.
    ممنون :)
  • amir.ebrahimi66
    از elmc هم میتونید استفاده کنید.
  • mskhalili
    سلام
    خسته نباشید
    میشه یه لینک برای دانلود نرم افزار Version 4.7 (R2007b) MATLAB Compiler معرفی کنید
    تشکر
  • admin
    فکر نمی کنم لینک مستقیم برای دانلودش پیدا بشه
    منم ندارم
    بهتره یه سر به انقلاب بزنی... :wink:
  • ناشناس
    سلام
    وقت بخیر

    چند تا سوال داشتم.
    -اول اینکه آیا فقط ورژن 4.7 درست کار میکنه یا بقیشون مثلا 7.4 ، 7.6 هم درست کار میکنه.
    -دوم اینکه آیا به این روش میشه کدهای بزرگ رو هم تبدیل کرد.
    -سوم اینکه من می خواستم تصویر رو بصورت آنلاین با مطلب بخونم. این کار رو از طریق وبکم انجام دادم. ولی مشکلی که پیش میاد اینه که تصویر قرمز میشه در صورتی که اگر به صورت جداگانه با وبکم عکس بگیرم تصویر کاملا رنگ درستی داره. و حتی وقتی با مطلب از وبکم لب تاپ تصویر رو می خونم کاملا درسته. حتی تنضیمات شدت روشنایی و هیو و ... رو تو مطلب تنظیم می کنم و فایده نداره.
    شما میدونید مشکل کجاست.
    با تشکر از راهنماییهاتون
    در پناه حق باشید.
  • moj1001
    سلام
    من با متلب R2008a و R2010a فايل اجرايي درست كردم مشكلي نداشته! بعيد مي‌دونم در ورژن‌ها مشكلي وجود داشته باشه.
    اينم مراحل كار در R2010a هست:

    mbuild -setup
    Please choose your compiler for building standalone MATLAB applications:

    Would you like mbuild to locate installed compilers [y]/n? y

    Select a compiler:
    [1] Lcc-win32 C 2.4.1 in C:PROGRA~1MATLABR2010asyslcc

    [0] None

    Compiler: 1

    Please verify your choices:

    Compiler: Lcc-win32 C 2.4.1
    Location: C:PROGRA~1MATLABR2010asyslcc

    Are these correct [y]/n? y

    Trying to update options file: C:UsersMojtabaAppDataRoamingMathWorksMATLABR2010acompopts.bat
    From template: C:PROGRA~1MATLABR2010abinwin32mbuildoptslcccompp.bat

    Done . . .
  • admin
    درسته با کامپایلر خود متلب مشکلی نداره
    اما با کامپایلر C این مشکلات پیش میاد
تنها کاربران عضو شده می توانند نظر ارسال کنند!
آخرین بروز رسانی در شنبه, 29 مرداد 1390 ساعت 22:10