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

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

  • خلیلی  - کمک
    سلام
    خسته نباشید
    من ده مشکل دارم. وقتی از دستور mbuild و سپس mcc استفاده می کنم فایلی با پسوند ctf و _mcc_component_data.c ایجاد نمی شه. شما می دونید علتش چیه؟
  • 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 این مشکلات پیش میاد
  • mskhalili  - نحوه خواندن انلاین تصویر در مطلب...
    سلام
    خسته نباشید
    میشه سوالات منو پاسخ بدید
    ممنون

    چند تا سوال داشتم.
    -اول اینکه آیا فقط ورژن 4.7 matlab2007b برای exe کردن فایل درست کار میکنه یا بقیشون مثلا 7.4 ، 7.6 هم درست کار میکنه.
    -دوم اینکه آیا به این روش میشه کدهای بزرگ رو هم تبدیل کرد.
    -سوم اینکه من می خواستم تصویر رو بصورت آنلاین با مطلب بخونم. این کار رو از طریق وبکم انجام دادم. ولی مشکلی که پیش میاد اینه که تصویر قرمز میشه در صورتی که اگر به صورت جداگانه با وبکم عکس بگیرم تصویر کاملا رنگ درستی داره. و حتی وقتی با مطلب از وبکم لپ تاپ تصویر رو می خونم کاملا درسته. حتی تنضیمات شدت روشنایی و هیو و ... رو تو مطلب تنظیم می کنم و فایده نداره.
    شما میدونید مشکل کجاست.
  • ناشناس  - نحوه exe کردن کد مطلب به ++c و نحوه خواندن آنلاین
    سلام
    وقت بخیر
    میشه پاسخ سوالات منو بدید :oops:

    چند تا سوال داشتم.
    -اول اینکه آیا فقط ورژن 4.7 matlab2007b درست کار میکنه یا بقیشون مثلا 7.4 ، 7.6 هم درست کار میکنه.
    -دوم اینکه آیا به این روش میشه کدهای بزرگ رو هم تبدیل کرد.
    -سوم اینکه من می خواستم تصویر رو بصورت آنلاین با مطلب بخونم. این کار رو از طریق وبکم انجام دادم. ولی مشکلی که پیش میاد اینه که تصویر قرمز میشه در صورتی که اگر به صورت جداگانه با وبکم عکس بگیرم تصویر کاملا رنگ درستی داره. و حتی وقتی با مطلب از وبکم لب تاپ تصویر رو می خونم کاملا درسته. حتی تنضیمات شدت روشنایی و هیو و ... رو تو مطلب تنظیم می کنم و فایده نداره.
    شما میدونید مشکل کجاست.
    با تشکر
  • امین  - فکر کنم
    من فکر میکنم دلیلش اینه که شما هر سه قسمت (هر سه رنگ) ماتریس عکستون رو درست انتخواب نمیکنید. وفقط یکی از 3 تارنگو استفاده میکنید.
  • ناشناس
    سلام
    من هنوز پاسخ سوالاتم رو نگرفتم. :cry:
    میشه کمکم کنید؟
    ممنون
  • admin
    من فقط گفتم که اون error که بار اول نوشتی در نسخه 4.7 دیده نمی شه و نسخه های بعدی یکم مراحل کار پیچیده تر خواهد شد.
    مشکلی از نظر حجم کد ها هم وجود نداره.
    در مورد سوالت برای کاربا وبکم بهتره سوالت رو در فروم مطرح کنی، شاید کسی اطلاع داشته باشه.
    http://mathworks.ir/forum
  • امین
    من هم یک تابع نوشتم واونو به dll تبدیل کردم.و با استفاده از packaje اونو به یک پکیج تبدیل کردم. تو خود سایت گفته که باید تو پکیج componentname.ctf و MCR Installer باشه. ولی نیست
    با این که تو کامپیوتر خودم dll جواب میده تو سیستمای دیگه جواب نمیده
    چرا؟؟
  • علی اسدی
    سلام. میشه برای exe کردن mfile اون رو دیگه به c++ تبدیل نکرد؟
  • ali
    سلام من می خواستن بدونم آیا میشه فایل exe ای در متلب ساخت ولی برد توی یک کامپیوتر دیگه ای که نرم افزار متلب نداره اجراش کرد با تشکر
  • admin

    هدف exe کردن دقیقا همینه.
  • ali
    هدف exe كردن رو مي دونم دوست عزير اما نمي دونم چه جور ميشه اين كار رو در مطلب انجام داد.اگه ميدونيد خوشحال ميشم منو راهنمايي كنيد :shock:
  • admin
    عنوان این صفحه رو نگاه کردین؟!!!
    این صفحه دستورالعمل همین کاره.
  • ناشناس
    سلام
    برای اینکار باید MCR مطلب خودتون رو تو کامپیوتر مورد نظر نصب کنید.
    (اگر تو پوشه مطلب که رو کامپیوترتون نصبه بگردید پیداش میکنید به اسمه MCRinistaller)
  • emami.m
    آیا کدهای نوشته شده در GUI رو هم میشه یه فایل exe تبدیل کرد؟
    آیا نصب ++C برای اینکار ضروری است؟
  • kiyana_moazami@yahoo.com
    روشمحاسبهمشتق دوم وتوابع تبدیل شدت گاماونگاتیو ومعکوس و زوم کردنوکوچککردن یه تصویر رامیخوامممنون
نوشتن نظر
Your Contact Details:
نظر:
[b] [i] [u] [url] [quote] [code] [img]   
:D:):(:0:shock::confused:8):lol::x:P:oops::cry:
:evil::twisted::roll::wink::!::?::idea::arrow:
Security
کد آنتی اسپم نمایش داده شده در عکس را وارد کنید.
آخرین بروز رسانی در شنبه, 29 مرداد 1390 ساعت 18:40