نمایش نتایج: از شماره 1 تا 10 از مجموع 10
Like Tree7نفر پسندیدند
  • 6 ارسال توسط Hossein
  • 1 ارسال توسط Hossein

موضوع: آموزش کامل و تصویری کامپایل کتابخانه Boost و استفاده از آن در ویندوز (Visual Studio و CodeBlocks)

  1. #1
    بنیانگذار
    تاریخ عضویت
    2010 January
    محل سکونت
    زیر سایه خدا
    سن
    33
    ارسال ها
    1,308
    تشکر
    2,923
    تشکر شده 2,205 بار در 886 پست
    نوشته های وبلاگ
    37


    آيا اين پست براي شما سودمند بود؟ بله | خیر

    آموزش کامل و تصویری کامپایل کتابخانه Boost و استفاده از آن در ویندوز (Visual Studio و CodeBlocks)

    بسم الله الرحمن الرحیم
    خب امروز میخوام نحوه کامپایل و استفاده از کتابخانه بسیار قدرتمند Boost رو آموزش بدم .
    این آموزش برای اولین بار در کشور هست که بصورت فارسی ارائه میشه و صد البته آموزش انگلیسی درست و درمونی هم براش موجود نیست .(خصوصا برای CodeBlocks)

    خب قبل از آموزش یک سری توضیحاتی در مورد این کتابخونه بدم . :
    Boost یکی از قویترین کتابخانه های Cross-Platform سی ++ هست . و خیلی از بخشهای این کتابخانه در استاندارد جدید زبان سی++ یعنی (C++11) قرار داده شده .
    تعدادی از برنامه نویسان این کتابخونه هم از افراد حاضر در کمیته استاندارد Cpp هستن . و بسیار کتابخونه معتبر و کاربردی ای هست . این کتابخونه شامل کلاسها و توابعی هست که برنامه نوبسی به زبان سی ++ رو بسیار آسونتر و لذت بخش تر میکنه . کدهایی که با استفاده از این کتابخونه مینویسید اصطلاحا platform independent هستند و شما میتونید همون سورس کدی که تو ویندوز با این کلاسها و توابع استاندارد نوشتید رو بدون تغییر در لینوکس مک و ... اجرا کنید .

    -------------

    کتابخانه Boost به دو صورت در ویندوز ارائه شده :
    1. بصورت سورس کد ( که باید کامپایل بشه )
    2. بصورت کتابخانه از پیش ساخته شده (که توسط یک installer دنلود و نصب میشه رو سیستمون )


    استفاده از Installer همیشه مقدور نیست چون به یک اینترنت پر سرعت نیاز دارید تا بتونید کتابخانه رو دنلود کنید و پیشفرض هم با ویژوال استودیو کار میکنه ( برای کار کردن با کد بلاکس چند تا قدم اضافی باید طی بشه )
    سورس کد اما حجمش کمتره و براحتی میشه دنلود و بعد کامپایلش کرد .
    اگر میخواید از Installer استفاده کنید که بی دردسره و براحتی نصب میشه و قابل استفاده است اون رو از این لینک دانلود کنید
    (روی اخرین ورژن کلیک کنید و بعد ورژن مورد نظرتون رو دانلود کنید (مثلا الان 1.56 اومده و من روی اون کلیک میکنم )

    اطلاعات اولیه - نام ها و اصطلاحات:
    CodeBlocks:
    این یه محیط توسعه بسیار قدرتمند Cross-Platform هست که باهاش میتونید پروژه های مختلفی رو بنویسید . معادل ویژوال استودیو هست اما خوبی ای که داره هم در ویندوز وجود داره و هم در لینوکس و مهمتر اینکه موقع نوشتن و کار کردن با کتابخانه Boost ,این IDE ویژگی فوق العاده Intellisense رو داره که این ویژگی تو ویژوال استودیو 2008 وجود نداره اما تو ورژن 2010 وجودداره .
    اینم یه تصویر نمونه از ورژنی که الان روی سیستم من نصبه :


    برای دنلود آخرین ورژن این IDE میتونید از اینجا اقدام کنید : Download binary
    یادتون باشه ورژنی رو برای دنلود انتخاب کنید که mingw تو اسمش داشته باشه ( ستاپ 74 مگ به بالا رو دنلود کنید )


    GCC:
    یک مجموعه ابزار اوپن سورس و رایگان که برای کامپایل سورس کد زبانهایی مثل سی و سی++ بکار میره (البته زبانهای دیگه هم هستن که ما کاری نداریم ) . این مجموعه تحت دو نام برای ویندوز پورت شده و قابل دسترس هست . یکی MingW و یکی دیگه Cygwin . که MingW خیلی معروف تره و صد البته اگه CodeBlocks رو دنلود کنید بصورت پیشفرض آخرین ورژن gcc رو هم همراه خودش نصب میکنه و نیازی ندارید جداگانه کامپایلر رو دنلود کنید ) .
    GCC برخلاف Microsoft Visual C++ Compiler استانداردهای زبان سی و سی++ رو خیلی بیشتر و سریعتر پشتیبانی میکنه . مثلا پشتیبانی از استاندارد C99 در کامپایلر ویژوال سی++ تنها به چند نمونه محدود میشه در حالی که GCC پشتیبانی 100% داره . همین قضیه در مورد آخرین استاندارد زبان C++که C++11 هست صدق میکنه و پیشتبانی بسیار بیشتری نسبت به همتای مایکروسافتی خودش داره (GCC 4.7.1 به جز بخش تردها تقریبا تمامی قابلیتهای جدید C++11 رو پشتیبانی میکنه در حالی که کامپایلر ویژوال سی++ در آخرین ورژن اون (بتای 2012 ) هنوز به اندازه GCC پشتیبانی نداره )

    برای دنلود آخرین ورژن از اینجا اقدام کنید : TDM-GCC (اگه میخوایید در ویژوال استودیو کار کنید به این نیازی ندارید )

    پیش نیازها :
    مواردی که در زیر اومده رو دنلود کنید :
    آخرین ورژن Boost رو از اینجا دنلود کنید : Boost Downloads
    آخرین ورژن GCC رو از اینجا دنلود کنید :TDM-GCC/

    Info یادتون باشه قبل از شروع به کامپایل Boost حتما باید ویژوال استودیو نصب باشه - چون boost بصورت پیشفرض سعی میکنه از طریق کامپایلر ویژوال سی++ کدها رو کامپایل کنه .



    در حال حاضر آخرین ورژن این کتابخونه ورژن 1.49.0 هست . که من از این لینک دنلود کردم .(ورژن 7zip حجمش از بقیه کمتره و براحتی با Winrar یا خود برنامه 7Zip میتونید فایل رو از حالت فشرده خارج کنید )
    بعد از دنلود سورس کد اون رو یک جایی از حالت فشرده خارج کنید . من اون رو تو درایو C اسکترکت کردم . و بعد از extract کردن باید یک پوشه بصورت زیر تو درایو C من وجود داشته باشه :


    C:\boost_1_49_0


    و وقتی که وارد این پوشه میشید باید پوشه های زیر رو ببینید :



    از این بخش به بعد بسته به اینکه داریم از ویژوال استودیو( ویژوال سی++) استفاده میکنیم یا CodeBlocks قدمها کمی فرق داره . پس بسته به کارتون یکی از قدمهای زیر رو طی کنید :

    Compiling , Installing and Configuring Boost in Visual Studio

    نصب و پیکربندی Boost در ویژوال استودیو بسیار راحت و بدون دردسر هست . و تنها تفاوت های بسیار کوچیکی بین نصب Boost در ورژنهای مختلف ویژوال استودیو هست که در ادامه میبینید.

    شروع عملیات Compile کتابخانه Boost :

    برای کامپایل کردن باید وارد Command Prompt ویژوال استودیو بشیم . دقت کنید گفتم Command Promt خود ویژوال استودیو نه ویندوز ! برای این کار از مسیر زیر برای اجرا کردن Visual Studio Command Prompt استفاده کنید :
    نکته: اگر در ویندوز 7 هستید کافیه در Start Menu تایپ کنید

    Visual Studio Command Prompt

    در ویندوز Xp و همینطور Windows 7 میتونید از مسیر زیر هم Visual Studio Command Prompt رو اجرا کنید .
    Visual Studio 2008:

    Start Menu\All Programs\Microsoft Visual Studio 2008\Visual Studio Tools

    Visual Studio 2010:

    Start Menu\All Programs\Microsoft Visual Studio 2010\Visual Studio Tools

    باید به پنجره ای بصورت زیر مواجه بشید


    حالا باید وارد پوشه Boost بشیم که قبلا Extract ش کردیم .پس بصورت زیر عمل میکنیم :


    C:
    cd boost_1_49_0


    خب حالا وقت اون رسیده که عمل کامپایل رو انجام بدیم .برای این کار دستورات زیر رو وارد میکنیم :


    Visual Studio 2008:

    bootstrap.bat
    bjam toolset=msvc-9 --build-type=complete stage variant=debug,release threading=multi link=static


    Visual Studio 2010:


    bootstrap.bat
    bjam toolset=msvc-10.0 --build-type=complete stage variant=debug,release threading=multi link=static


    خب حالا میتونید برید بیرون قدم بزنید یا اگه خواستید چند تا فیلم ببینید چون این مرحله حداقل یک ساعت طول میکشه تا کامپایل تمام کتابخانه انجام بشه . البته این زمان نسبی هست و بر اساس سرعت سیستم شما متغییره ممکنه بیشتر و ممکنه کمتر باشه ( برای من کمی بیشتر از 1 ساعت طول کشید)

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



    و اینجا هم نشون دهنده شروع عملیان کامپایل هست :



    و این هم پایان عملیان کامپایل :


    بعد از اینکه عملیات کامپایل تموم شد تنها یک کار باقی میمونه و اون پیکربندی ویژوال استودیو برای استفاده از کتابخانه Boost هست . این پیکربندی در ویژوال استودیو 2008 با ویژوال استودیو 2010 کمی متفاوت هست .


    Visual Studio 2008
    ویژوال استودیو رو اجرا کنید و وارد بخش Option اون بشید . برای این کار از مسیر زیر استفاده کنید .

    Tool\Options


    در پنجره باز شده بر روی Projects and Solutions و سپس VC++ Directories کلیک کنید . سمت راست زیر Show directories for: گزینه Include files رو انتخاب کنید و بعد زیرش روی تصویر پوشه کلیک کنید .
    حالا باید پوشه ای که Boost رو قبلا توش extract کردیم انتخاب کنیم . (یعنی همون پوشه C:\boost_1_49_0 ) - تذکر : ( چون من تو ویندوز XP این عکس رو گرفتم و اونجا Boost رو تو درایو f اکسترکت کردم پس تو تصویر زیر آدرس f رو دادم .شما باید همون آدرسی که Boost رو اکسترکت کردید بدید ) .



    بعد از این کار دوباره از بخش Show directories for: گزینه Library files رو انتخاب کنید و دوباره روی تصویر پوشه کلیک کنید و پوشه stage\lib رو از داخل پوشه ای که Boost رو اونجا Extract کردید انتخاب کنید . یعنی مسیری که وارد میکنید اینطور باید باشه :



    C:\boost_1_49_0\stage\lib 


    (دوباره تکرار میکنم چون در ویندوز XP من Boost رو در درایو F خودم Extract کردم تو تصویر هم اون آدرس رو دادم . شما باید آدرس رو بر اساس پوشه Boost خودتون بدید )


    Ok کنید و تمام . از حالا شما میتونید ازکتابخانه Boost در تمام پروژه های C++ تون استفاده کنید :)
    برای تست اینکه همه چیز بخوبی کار میکنه میتونید ا زمثالی که در بخش زیر اومده استفاده کنید .


    Visual Studio 2010
    برای ویژوال استودیو 2010 هم همون قدمها باید طی بشه . منتها مکان VC++ Directories که ما بهش نیاز داریم عوض شده و دیگه تو Options نیست . و اگه ما بخوایم به همون مسیری که تو ویژوال استودیو 2008 رفتیم اینجا هم بریم مثل عکس زیر با پیام زیر مواجه میشیم که اگه روی علامت سوال بالای پنجره کلیک کنید مسیر جدید VC++ رو بما میگه.



    خب . یک پروژه جدید بسازید . برای این کار از بخش منو New Project رو انتخاب کنید و تو پنجره باز شده مثل تصویر زیر از بخش Visual C++( اگه پیدا نکردید بخش Other Languges رو ببینید زیر اون باید باشه ) Win32 Console Application رو انتخاب کنید و در بخش نام پروژه یک اسم مثل : Boost Example وارد کنید و بعد Ok رو بزنید.





    Next رو بزنید و در پنجره جدید تیک Empty Prject رو بزنید و بعد روی Finish کلیک کنید .



    خب . حالا از منوی View\Other windows و بعد Property Manager رو انتخاب کنید :



    بعد از این کار با پنجره مربوط به Property Manager مواجه میشیم که از دو بخش Debug و Release تشکیل شده . روی هر کدوم کلیک کنیم یک سری زیر منو باز میشه . ما با گزینه اول یعنی Microsoft Cpp Win32 user کار داریم . پس روی همون بخش Debug کلیک کرده تا منوهاش نمایش داده بشه و بعد روی گزینه اول دابل کلیک میکنیم .



    حالا در پنجره ای که باز شد دنبال VC++ Directories بگردید و مثل تصویر زیر و همونطوری که قبلا عینا برای Visual STudio 2008 انجام دادیم اینجا هم انجام میدیم .
    یعنی با کلیک روی Include files مسیر پوشه ای که Boost رو اکسترکت کردیم میدیم


    و با کلیک روی Library files مسیر پوشه stage\lib داخل پوشه Boost رو میدیم .



    حالا میخوایم یک سورس کد به این پروژه خالی اضافه کنیم . برای این کار روی نام پروژتون راست کلیک کنید .Add رو انتخاب کنید و بعد New Item رو انتخاب کنید . تو پنجره جدید یک فایل .cpp رو انتخاب کنید و تو بخش نام بنویسید main و بعد Ok کنید. حالا سورس کد زیر رو تو پروژتون کپی پیست کنید . :


    /* In the name of GOD
    // Boost Example - Demonstrating Boost::Thread
    // Author: Seyyed Hossein Hasan Pour
    // WebSite: USTMB.IR
    /
    */
    #include <boost/thread.hpp>
    #include <iostream>
    #include <cstdlib>

    void wait(int seconds)
    {
    boost::this_thread::sleep(boost::posix_time::seconds(seconds));
    }

    boost::mutex mutex;

    void thread()
    {
    for (int i = 0; i < 5; ++i)
    {
    wait(1);
    mutex.lock();
    std::cout << "Thread " << boost::this_thread::get_id() << ": " << i << std::endl;
    mutex.unlock();
    }
    }

    int main()
    {
    boost::thread t1(thread);
    boost::thread t2(thread);

    t1.join();
    t2.join();

    std::system("pause");
    }




    حالا برنامه رو کامپایل و اجرا کنید . اگر تمامی قدمها رو درست طی کرده باشید باید برنامه براحتی کامپایل و ران بشه . سورس کد بالا یه نمونه ساده از کار با تردها در سی++ هست . یک تابع داریم که کارش فقط شمردن 1 تا 5 هست و ما دوتا ترد ساختیم که در دو ترد با هم شروع به شمارش میکنن .


    CodeBlocks
    خب قبل از اینکه همین کارها رو برای CodeBlocks انجام بدیم لازمه یک قدم اضافه براداریم . این قدم هم اضافه کردن متغییر PATH به Enviroment Variables هست .
    برای این کار روی آیکون MyComputer راست کلیک کنید و Properties رو انتخاب کنید .




    Win7 : سمت چپ پنجره باز شده روی Advanced system settings کلیک کنید و در انتهای پنجره باز شده روی دکمه Enviroment Variables کلیک کنید .
    WinXP : روی تب Advanced کلیک کنید و بعد در انتهای پنجره باز شده روی دکمه Enviroment Variables کلیک کنید.



    در پنجره جدید در بخش بالایی اون روی دکمه NEW کلیک کنید و جلوی variable name بنویسید : PATH و زیرش هم آدرس پوشه MingW رو بدید . مثل شکل زیر:






    این مسیر از کجا اومد؟



    بعد از اینکه همه چیز اکی بود ادامه میدیم :
    Command Prompt رو اجرا کنید . (Start menu\All Programs\Accessories\Command Prompt) یا توی run بزنید CMD
    اگه تو ویندوز 7 هستید کافیه روی منوی start کلیک کنید و cmd رو تایپ کنید . .
    حالا وارد پوشه ای میشیم که تازه Extract ش کردیم . برای این کار از این دستورات استفاده میکنیم :
    نکته : میتونید وقتی که دارید تو CMD میکنید بجای اینکه همه اسم یک فایل یا یک پوشه رو خودتون تایپ کنید از کلید Tab روی کیبرد استفاده کنید وقتی tab رو بزنید ویندوز خودش بترتیب اسم فایلها رو براتون کامل میکنه و با زدن هر Tab فایل و یا پوشه بعدی رو مینویسه براتون (اگه اسمی رو نصفه تایپ کرده باشین با زدن tab ویندز اسمش رو کامل میکنه ).(ویژگی خوبیه نه:) )
    حالا دستورات :

    cd ..\..
    cd boost_1_49_0

    خب حالا وقت اون رسیده که عمل کامپایل رو انجام بدیم .

    bootstrap.bat
    bjam toolset=gcc --build-type=complete stage variant=debug,release threading=multi link=static


    خب همونطور که در بالا اشاره شد ( مراحل گفته شده در ابتدای بخش ویژوال استودیو) اگه همه چیز درست انجام گرفته باشه عملیات کامپایل شروع میشه و نهایتا بعد از چند ساعت کامپایل تموم میشه . و میرسیم به بخش پیکربندی کد بلاکس برای کار با Boost .
    برای این کار CodeBlocks رو اجرا کنید .
    از منو Settings گزینه Compiler and debugger settings رو انتخاب کنید .

    در پنجره باز شده از بین Tab های موجود ,تب Search Directories رو انتخاب کنید . و در پنجره ای که نمایش داده مییشه . در بخش Compiler دکمه Add رو بزنید و پوشه ای که سورس کد های Boost رو اکسترکت کردید انتخاب کنید .




    بعد از این کار بر روی تب کناری اون یعنی تب Linker کلیک کنید و باز با زدن بر روی دکمه Add پوشه stage\lib داخل پوشه اکسترکت شده Boost رو همونطور که در تصویر میبینید انتخاب کنید :




    بعد از انجام این کارها بر روی تب Linker Settings کلیک کنید ( قبل از تب Search directories هست ) و بر روی دکمه Add کلیک کنید و برید به پوشه stage\lib داخل پوشه Boost که قبلا اسکترکتش کردید . برای من این آدرس هست :


    C:\boost_1_49_0\stage\lib


    و بعد تمامی فایلهایی که تو این پوشه هست رو انتخاب کنید (Ctrl-A رو بزنید ) بعد روی Open کلیک کنید و نهایتا OK کنید و Ok کنید تا از پنجره مربوط به تنظیمات کامپایلر خارج بشید .
    حالا سعی میکنیم تا سورس کد قبلی رو اینجا هم کامپایل کنیم .

    یک پروژه جدید در CodeBlocks از نوع Console Application انتخاب و کلید Next رو بزنید .زبان C++ رو انتخاب کنید و همینطور ادامه بدید تا پروژه ساخته بشه . بر روی سورس کد کلیک کنید و سورس کد موجود رو با سورس کدی که در زیر هست عوض کنید .


    //in the name of GOD
    #define BOOST_THREAD_USE_LIB
    #include <boost/thread.hpp>
    #include <iostream>

    void wait(int seconds)
    {
    boost::this_thread::sleep(boost::posix_time::seconds(seconds));
    }

    boost::mutex mutex;

    void thread()
    {
    for (int i = 0; i < 5; ++i)
    {
    wait(1);
    mutex.lock();
    std::cout << "Thread " << boost::this_thread::get_id() << ": " << i << std::endl;
    mutex.unlock();
    }
    }

    int main()
    {
    boost::thread t1(thread);
    boost::thread t2(thread);

    t1.join();
    t2.join();
    }


    و حالا کامپایل کنید . اگر همه کارها رو بدرستی انجام داده باشید باید برنامه بدون نقص کامپایل و اجرا بشه.

    کار با تردها در CodeBlocks یک نکته ای داره و اون هم اینکه شما باید ابتدای تمامی پروژه هایی که درش قصددارید از ترد استفاده کنید عبارت زیر رو define کنید .:

    #define BOOST_THREAD_USE_LIB


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

    امیدوارم این آموزش مورد پسند همه شما قرار گرفته باشه و بتونید به نحو احسنت ازش استفاده کنید .
    اگر جایی سوالی داشتید یا به مشکلی برخوردید میتونید تو همین تاپیک بپرسید یا به پیام خصوصی بدید . (البته من تا دو سه ماه آینده بعلت سربازی نیستم اما بعدش در خدمتم انشاالله ) .

    نکته : من پیشنهاد میکنم اگه قصد استفاده کراس پلت فرم ندارید برای کامپایل کدتون حتما از ویژوال استودیو استفاده کنید تا جلوی خیلی از دردسرهایی که با gcc تو ویندوز میخورید گرفته بشه . البته مشکلاتی که گفتم قابل حل و رفع هست ولی خب سری که درد نمیکنه رو دستمال نمی بندن :)


    میتونید این آموزش رو در جاهای دیگه استفاده کنید فقط در صورتی که کپی رایت رو رعایت کنید و لینک به این صفحه بصورت مستقیم داده باشید . من بیشتر از 5 ساعت تمام وقت گذاشتم تا این آموزش رو بنویسم .

    برای سلامتی خودتون و من و خانواده و رفتگانمون یه فاتحه بفرستید و یا دعای خیر کنید :)
    در پناه حق
    سید حسین حسن پور متی کلایی
    1:42 شب (صبح؟) 8 آوریل 2012

    موضوعات مشابه:
    ویرایش توسط Hossein : 8th October 2014 در ساعت 09:10 PM دلیل: آپدیت 2
    Shojaee, Farzad, developer و 3 نفر دیگر این نویسه را می پسندند.
    توکل بخدا
    http://DeepLearning.ir
    اولین و تنها مرجع یادگیری عمیق ایران


    هرکس از ظن خود شد یار من
    از درون من نجست اسرار من




  2. #2
    عضو تازه وارد
    تاریخ عضویت
    2014 October
    ارسال ها
    5
    تشکر
    0
    تشکر شده 0 بار در 0 پست


    آيا اين پست براي شما سودمند بود؟ بله | خیر
    سلام
    من از لینکی که داده بودین

    آخرین ورژن Boost رو از اینجا دنلود کنید : Boost Downloads

    آخرین ورژن یعنی boost_1_56_0 رو دانلود کردم ولی فقط 18 آیتم توش بود در صورتی که در عکسی که شما گذاشتین 24 آیتم بعد از اکسترک کردن وجود دارد.
    بقیه کار ها رو انجام دادم اما اون پنجره کامنت که گفتین خیلی طول میکشه خیلی سریع کارش تموم شد و اون عکسایی که از پنجره کامنت گذاشتین نیومد، پنجره کامنتم رو عکس گرفتم و براتون میفرستم، لطفا بگین مشکل کجاس




    فهمیدم مشکل از کجاس
    شما نوشتین برای ویژوال 2008 این رو وارد کنید
    کد:
    bjam toolset=msvc-9 --build
    درحالی باید مینوشتین این رو وارد کنین
    کد:
    bjam toolset=msvc-8 --build
    چون ورژن هشت هستش و نه ورژن 9

    Angehngte Grafiken
    • نوع فایل: png 1.png (55.5 کیلو بایت,  این فایل 16 بار دانلود شده است)
    ویرایش توسط Hossein : 6th October 2014 در ساعت 10:57 PM

  3. #3
    عضو تازه وارد
    تاریخ عضویت
    2014 October
    ارسال ها
    5
    تشکر
    0
    تشکر شده 0 بار در 0 پست


    آيا اين پست براي شما سودمند بود؟ بله | خیر
    سلام مجدد
    با تغیر عدد 8 به 9 در کد(طبق چیزی که در پست قبلی گفتم) مشکل حل شد و تمام مراحل به درستی انجام شد
    اما نمونه کدی که دادین رو زدم کامپایل کنم که ببینم درست هست یا نه این ارور رو میده:
    کد:
    Error    1    fatal error LNK1104: cannot open file 'libboost_thread-vc90-mt-gd-1_56.lib'    11
    مشکل از کجاس؟

    ویرایش توسط Hossein : 6th October 2014 در ساعت 10:58 PM

  4. #4
    بنیانگذار
    تاریخ عضویت
    2010 January
    محل سکونت
    زیر سایه خدا
    سن
    33
    ارسال ها
    1,308
    تشکر
    2,923
    تشکر شده 2,205 بار در 886 پست
    نوشته های وبلاگ
    37


    آيا اين پست براي شما سودمند بود؟ بله | خیر
    نقل قول نوشته اصلی توسط sara joun نمایش پست ها
    سلام
    من از لینکی که داده بودین

    آخرین ورژن Boost رو از اینجا دنلود کنید : Boost Downloads

    آخرین ورژن یعنی boost_1_56_0 رو دانلود کردم ولی فقط 18 آیتم توش بود در صورتی که در عکسی که شما گذاشتین 24 آیتم بعد از اکسترک کردن وجود دارد.
    بقیه کار ها رو انجام دادم اما اون پنجره کامنت که گفتین خیلی طول میکشه خیلی سریع کارش تموم شد و اون عکسایی که از پنجره کامنت گذاشتین نیومد، پنجره کامنتم رو عکس گرفتم و براتون میفرستم، لطفا بگین مشکل کجاس
    سلام
    نه مشکلی نیست. فایلها بسته به ورژن کتابخونه ممکنه کم و زیاد بشه . اگه از خود سایت رسمی(Boost.Org) گرفتید مشکلی نباید داشته باشید.

    نقل قول نوشته اصلی توسط sara joun نمایش پست ها

    نقل قول نوشته اصلی توسط sara joun نمایش پست ها
    فهمیدم مشکل از کجاس
    شما نوشتین برای ویژوال 2008 این رو وارد کنید
    bjam toolset=msvc-9 --build
    درحالی باید مینوشتین این رو وارد کنین
    bjam toolset=msvc-8 --build
    چون ورژن هشت هستش و نه ورژن 9
    احتمالا بخاطر اپدیتهایی هست که من اون زمان نصب کرده بودم (و ورژن کامپایلر بالاتر رفته بود)
    چون عینا تست رو سیستم خودم انجام دادم و بعد اینجا اموزشش رو گذاشتم .

    نقل قول نوشته اصلی توسط sara joun نمایش پست ها
    سلام مجدد
    با تغیر عدد 8 به 9 در کد(طبق چیزی که در پست قبلی گفتم) مشکل حل شد و تمام مراحل به درستی انجام شد
    اما نمونه کدی که دادین رو زدم کامپایل کنم که ببینم درست هست یا نه این ارور رو میده:
    Error 1 fatal error LNK1104: cannot open file 'libboost_thread-vc90-mt-gd-1_56.lib' 11

    مشکل از کجاس؟
    اروری که دریافت میکنید بخاطر تنظیم نبودن linker هست . بخش انتهایی اموزش مربوط به پیکربندی لینکر هست . انجام بدید انشالله باید بتونید بدون هیچ مشکلی کدهاتون رو کامپایل و اجرا کنید.

    Mahshid این نویسه را میپسندد.
    توکل بخدا
    http://DeepLearning.ir
    اولین و تنها مرجع یادگیری عمیق ایران


    هرکس از ظن خود شد یار من
    از درون من نجست اسرار من




  5. #5
    عضو تازه وارد
    تاریخ عضویت
    2014 October
    ارسال ها
    5
    تشکر
    0
    تشکر شده 0 بار در 0 پست


    آيا اين پست براي شما سودمند بود؟ بله | خیر
    سلام
    من مراحل انتهایی رو انجام دادم، اون دو فایل boost و lib رو همونطور که گفتین اضافه کردم، بعد برنامه نمونه که دادین رو اجرا کردم که این ارور رو داد

    Error 1 fatal error LNK1104: cannot open file 'libboost_thread-vc90-mt-gd-1_56.lib' 11


  6. #6
    بنیانگذار
    تاریخ عضویت
    2010 January
    محل سکونت
    زیر سایه خدا
    سن
    33
    ارسال ها
    1,308
    تشکر
    2,923
    تشکر شده 2,205 بار در 886 پست
    نوشته های وبلاگ
    37


    آيا اين پست براي شما سودمند بود؟ بله | خیر
    نقل قول نوشته اصلی توسط sara joun نمایش پست ها
    سلام
    من مراحل انتهایی رو انجام دادم، اون دو فایل boost و lib رو همونطور که گفتین اضافه کردم، بعد برنامه نمونه که دادین رو اجرا کردم که این ارور رو داد

    Error 1 fatal error LNK1104: cannot open file 'libboost_thread-vc90-mt-gd-1_56.lib' 11
    سلام .
    اروری که شما میگیرین مربوط به لینکره . و این یعنی یا مسیر اشتباهه یا اصلا فایلی وجود نداره .
    دقت اگه کنید اسم فایل توش ورژن کامپایلر مورد نظر هست . من فکر میکنم تو زمان build کردن مراحل رو بدرستی طی نکرده باشید . چون اگه
    بدرستی طی شده باشن و کاملا بیلد شده باشن و مسیرها هم همونطور که گفته شده تنظیم کرده باشید این ارور رو نباید ببینید .

    حتی مال شما اگه درست بیلد شده باشه با ورژن 8 باید دنبال فایلی با اون ورژن بگرده نه ورژن بالاتر!! (من نظرم رو بیلد مشکل دار کتابخونه هست -سعی کنید یکبار پاک کنید دوباره تلاش کنید )
    اگه اینترنت سرعتتون خوبه میتونید ورژن از قبل کامپایل شده اون رو برای ورژنهای مختلف ویژوال استودیو دانلود کنید :
    Boost C++ Libraries
    دیگه نیازی به بلید توسط خودتون هم نیست و همه چی بخوبی پیکربندی میشه .

    boost_1_56_0-bin-msvc-all-32-64.7z با حجم 1.3 گیگابایت شامل همه چی هست (هم ورژن 32 بیتی هم 64 بیتی و میتونید انتخاب کنید چیا نصب بشه چیا نشه )
    اون بقیه موارد هم ورژنشون مشخص کننده ورژن ویژوال استودیو هست . مثلا 9 یعنی ویژوال استودیو 2008 sp1 و یا 10 یعنی ویژوال استودیو 2010 و یا 11 مال ویژوال استودیو 2012 و 12 مربوط به ویژوال استودیو 2013 هست


    توکل بخدا
    http://DeepLearning.ir
    اولین و تنها مرجع یادگیری عمیق ایران


    هرکس از ظن خود شد یار من
    از درون من نجست اسرار من




  7. #7
    عضو تازه وارد
    تاریخ عضویت
    2014 October
    ارسال ها
    5
    تشکر
    0
    تشکر شده 0 بار در 0 پست


    آيا اين پست براي شما سودمند بود؟ بله | خیر
    ممنون، چجوری پاک کنم، چجوری همه اینکارها رو پاک کنم تا دوباره انجامش بدم؟


  8. #8
    بنیانگذار
    تاریخ عضویت
    2010 January
    محل سکونت
    زیر سایه خدا
    سن
    33
    ارسال ها
    1,308
    تشکر
    2,923
    تشکر شده 2,205 بار در 886 پست
    نوشته های وبلاگ
    37


    آيا اين پست براي شما سودمند بود؟ بله | خیر
    نقل قول نوشته اصلی توسط sara joun نمایش پست ها
    ممنون، چجوری پاک کنم، چجوری همه اینکارها رو پاک کنم تا دوباره انجامش بدم؟
    از دستور
    کد:
    bjam --clean-all
    استفاده کنید ( اگه bjam ارور داد از b2 استفاده کنید )
    اینجا میتونید توضیحات بیشتر رو ببینید

    دلیل استفاده اتون از Boost چیه؟ با سی++11 آشنا هستین ؟
    بگید شاید بهتر تونستیم راهنمایی کنیم

    ویرایش توسط Hossein : 10th October 2014 در ساعت 09:01 PM
    توکل بخدا
    http://DeepLearning.ir
    اولین و تنها مرجع یادگیری عمیق ایران


    هرکس از ظن خود شد یار من
    از درون من نجست اسرار من




  9. #9
    عضو تازه وارد
    تاریخ عضویت
    2014 October
    ارسال ها
    5
    تشکر
    0
    تشکر شده 0 بار در 0 پست


    آيا اين پست براي شما سودمند بود؟ بله | خیر
    سلام
    من یک برنامه داشتم که با gcc کامپایل شده بود و میخاستم تو ویژوال بازش کنم
    خوشبختانه موفق شدم که با ویژوال بازش کنم، اما برای وارد کردن دستور مورد نظرريال یعنی اینکه میخام برنامه روی چه داده ای کار رو انجام بده، باید اینارو تو محیط کامند تایپ کنم
    میخاستم حالا که تونستم کدها رو تو ویژوال کامپایل کنم، وقتی اجرا میکنم هم پنجره ای باز میشه ویندوزی(ویندوز اپ) باشه ولی الان پنجره ای که بعد از اجرا باز میشه پنجره ی کامندی است


  10. #10
    بنیانگذار
    تاریخ عضویت
    2010 January
    محل سکونت
    زیر سایه خدا
    سن
    33
    ارسال ها
    1,308
    تشکر
    2,923
    تشکر شده 2,205 بار در 886 پست
    نوشته های وبلاگ
    37


    آيا اين پست براي شما سودمند بود؟ بله | خیر
    نقل قول نوشته اصلی توسط sara joun نمایش پست ها
    سلام
    من یک برنامه داشتم که با gcc کامپایل شده بود و میخاستم تو ویژوال بازش کنم
    خوشبختانه موفق شدم که با ویژوال بازش کنم، اما برای وارد کردن دستور مورد نظرريال یعنی اینکه میخام برنامه روی چه داده ای کار رو انجام بده، باید اینارو تو محیط کامند تایپ کنم
    میخاستم حالا که تونستم کدها رو تو ویژوال کامپایل کنم، وقتی اجرا میکنم هم پنجره ای باز میشه ویندوزی(ویندوز اپ) باشه ولی الان پنجره ای که بعد از اجرا باز میشه پنجره ی کامندی است
    شما یه کنسول پراجکت دارین (برنامه ها دو نوع هستن یا کامند پرامتی (صفحه داسی ) یا ویندوز بیسدی باشه . در حالت کلی البته )

    داستان برنامه سی++ صفحه سیاه! داسی با ورژن پنجره دارش خیلی متغاوته . شما دوتا راه حل دارین اگه این مسیر رو بخواید برید :
    یا از api ویندوز برای اینکار استفاده کنین برای ساخت پنجره و سایر کنترلهاش
    یا از فریمورک هایی مثل QT,WxWidgets,C++Builder استفاده کنید که من دوتای اول رو پیشنهاد میکنم (کیوت خیلی بهتره بخاطر ابزارهاش )


    برای استفاده از API اینجا رو میتونید ببینید :
    Win32 Developer - Basic Windows (Win32) programming tutorial

    برای کیوت هم به بخش Qt انجمن مراجعه کنید آموزشها و... هست

    برای WxWidgets هم اینجارو میتونید ببینید : wxWidgets tutorial

    توکل بخدا
    http://DeepLearning.ir
    اولین و تنها مرجع یادگیری عمیق ایران


    هرکس از ظن خود شد یار من
    از درون من نجست اسرار من




 

 

کاربران برچسب خورده در این موضوع

کلمات کلیدی این موضوع

علاقه مندی ها (Bookmarks)

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

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


Powered by vBulletin
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.6.0
Persian Language By Ustmb.ir
این انجمن کاملا مستقل بوده و هیچ ارتباطی با دانشگاه علوم و فنون مازندران و مسئولان آن ندارد..این انجمن و تمامی محتوای تولید شده در آن توسط دانشجویان فعلی و فارغ التحصیل ادوار گذشته این دانشگاه برای استفاده دانشجویان جدید این دانشگاه و جامعه دانشگاهی کشور فراهم شده است.لطفا برای اطلاعات بیشتر در رابطه با ماهیت انجمن با مدیریت انجمن ارتباط برقرار کنید
ساعت 05:32 PM بر حسب GMT +4 می باشد.