Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Persian
  4. مشکل در اجرای برنامه بر روی دیگر سیستم ها (لینوکس)
Forum Updated to NodeBB v4.3 + New Features

مشکل در اجرای برنامه بر روی دیگر سیستم ها (لینوکس)

Scheduled Pinned Locked Moved Persian
9 Posts 3 Posters 6.1k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    mr.s.h.h
    wrote on last edited by
    #1

    p{direction:rtl;text-align:right;}. سلام و عرض خسته نباشید خدمت دوستان

    p{direction:rtl;text-align:right;}. راستش من کیوت رو بیشتر در لینوکس کار می کنم.

    p{direction:rtl;text-align:right;}. مشکلی که الان بهش برخورد کردم اینه که وقتی برنامه ای که با کیوت می نویسم  رو روی سیستمای لینوکسی دیگه اجرا می کنم برنامه اجرا نمیشه.

    p{direction:rtl;text-align:right;}. البته دلایلشو میدونم (صفر صفر نیستم).

    p{direction:rtl;text-align:right;}. توی ویندوز shared library ها به صورت .dll هستن و فقط کافیه dll های مربوط به برنامه رو کنار برنامه قرار بدیم. در اون صورت فایل خروجی برنامه (.exe) روی سیستم های ویندوزی دیگه هم قابل اجراست.

    p{direction:rtl;text-align:right;}. توی لینوکس هم shared library ها وجود دارند( چه چیز بدیهی گفتم) که به صورت .so هستن که البته اینجوری که من شنیدم و سرچ کردم خیلی پیشرفته تر از  dll ها توی ویندوز هستن

    p{direction:rtl;text-align:right;}. کاری که من کردم این بود که .so هایی که مربوط به برنامه‌م بود رو با دستور ldd پیدا کردم و کنار برنامه م قرار دادم. اما بازم مشکلم حل نشد و کماکان درگیر این هستم که چه جوری برنامه‌م رو میتونم روی سیستمای لینوکسی دیگه اجرا کنم.

    p{direction:rtl;text-align:right;}. کلی سرچ هم کردم البته. توی فرومای فارسی که هیچی پیدا نکردم اما منابع و فرومای انگلیسی یه چیزایی گفته بودن که هرکدومو تست کردم بازم به نتیجه نرسیدم.

    p{direction:rtl;text-align:right;}. احساس کردم سوالم خیلی ابتدایی نیست به همین دلیل اینجا مطرح کردم.

    p{direction:rtl;text-align:right;}. ممنون میشم راهنمایی کنید

    p{direction:rtl;text-align:right;}. مرسی، متشکر

    "QtExperts":http://www.qte.ir/?ref=ac112de3a0e4a788142ff16e912ae188

    1 Reply Last reply
    0
    • S Offline
      S Offline
      soroush
      wrote on last edited by
      #2

      p{direction:rtl;text-align:right;}. کتابخانه‌های کیوت توی تمام توزیع‌های مدرن لینوکس وجود دارند. اگه از سیستم‌های پکیجینگ استفاده می‌کنی به قسمت پیش‌نیاز پکیج خودت، پکیج‌های کیوت رو اضافه کن. مثلا برای دبین (اوبونتو، مینت و غیره) داخل فایل کنترل یک خط به صورت زیر اضافه کن:

      @
      Depends: libqtcore4 (>= 4:4.7.0), libqtgui4 (>=4:4.7.0)
      @

      p{direction:rtl;text-align:right;}. سیستم‌های مبتنی‌بر ردهت هم به شمل مشابهی این کار رو انجام میدن. فقط سینتکس‌ش فرق داره. اگه از buildsystem گنو استفاده می‌کنی (Autotools) بهتره ماکروهای چک کردن هدرها و کتابخونه‌ها به autoconf اضافه بشن.

      1 Reply Last reply
      0
      • M Offline
        M Offline
        mr.s.h.h
        wrote on last edited by
        #3

        p{direction:rtl; text-align:right}. ممنون و متشکر از اینکه وقت گذاشتی
        ولی من کماکان نتونستم مشکلمو حل کنم
        میشه یه مقدار بیشتر توضیح بدی
        توزیعی که استفاده می کنم هم فدورا (ردهت بیس) هستش
        این سیستمای پکیجینگی که گفتی رو من اصلا تا حالا باهاش کار نکردم
        میشه یکی دو تا از این سیستما رو نام ببری؟!
        و اینکه گفتی از buildsystem استفاده کنم.
        چه جوری می تونم از این ویژگی استفاده کنم؟
        با اینکه بیشتر از یک ساله که کلا لینوکس کار می کنم اما تا حالا buildsystem رو حتی نشنیدم
        بازم مرسی و ممنون

        1 Reply Last reply
        0
        • S Offline
          S Offline
          soroush
          wrote on last edited by
          #4

          p{direction:rtl; text-align:right}. نگران نباش در مورد لینوکس تا ده سال اول تازه‌کار به حساب میاد :D
          سیستم پکیجینگ ابزاری هست که باهاش پکیج می‌سازن و مدیریت می‌کنن. محصول نرم‌افزاری نهایی به شکل یک پکیج در میاد با فرمت .rpm که مجموعه‌ای از این پکیج‌ها یک رپوزیتوری رو تشکیل میده.

          p{direction:rtl; text-align:right}. برای ساختن پکیج‌ها توی اوبونتو از Debhelper استفاده میشه که کارها رو آسون‌تر کنه. در حالت کلی dpkg و ابزارهای مشابه هستند که کار کردن باهاشون خیلی سخته. برای ردهت تازه سخت‌تر هم میشه. چون چیزی مشابه dephelper و launchpad نداری که کارها رو برات انجام بده.

          p{direction:rtl; text-align:right}. اگه در مورد buildsystem اطلاعاتی نداری فعلا بی‌خیال شو چون خیلی سخته. خود کیوت یک build system جمع و جور داره. در واقع همون qmake که وقتی اجرا میشه makefile رو می‌سازه... نیازی نیست خودتو با چیزهای پیچیده‌تر درگیر کنی. اما اگه خواستی در موردش بخونی GNU Autotools رو سرچ کن.

          http://developerblog.redhat.com/tag/packaging/
          http://en.wikipedia.org/wiki/RPM_Package_Manager

          1 Reply Last reply
          0
          • M Offline
            M Offline
            mr.s.h.h
            wrote on last edited by
            #5

            p{direction:rtl; text-align:right}. اول اینکه خیلی هم صفر صفر نیستم تو لینوکس :)
            یه چیزایی از rpm و dpkg و اینا حالیم میشه
            ولی قصد من این نبود که یه پکیج مثلا .rpm درست کنم
            در واقع میخواستم یه جوری باشه که فایل باینری برنامه روی هر سیستم لینوکسی کار کنه و همه‌ی dependency ها یه جوری کنار برنامه باشه
            و اینکه از qmake صحبت کردی
            منظورت این بود که با qmake میشه یه همچین کاری کرد؟
            من میخوام یه برنامه رو ، روی ۴ تا سیستم لینوکسیه دیگه ران کنم بدون اینکه qt روی اونا نصب کنم :D
            آخرش نفهمیدم دقیقا چیکار کنم :)
            ممنون

            1 Reply Last reply
            0
            • S Offline
              S Offline
              soroush
              wrote on last edited by
              #6

              That's not the Linux way...

              1 Reply Last reply
              0
              • M Offline
                M Offline
                mr.s.h.h
                wrote on last edited by
                #7

                ok
                thanks a lot

                1 Reply Last reply
                0
                • W Offline
                  W Offline
                  woxuxow
                  wrote on last edited by
                  #8

                  ببخشید با پای پتی میام وسط گود
                  من تازه چند روزیه که با کیوت شروع به برنامه نویسی کردم (درست‌تر بگم شروع به یادگیری) و توی گنو/لینوکی هم تازه‌کارم
                  اگه نمی خوای با خود کیوت پکیج بسازی بهترین کار اینه که با نوشتن یک اسکریپت همه کتابخونه های مورد نیاز رو به lsdv
                  usr/lib
                  کپی کنی البته فکر کنم اگه همین مسیر رو به پوشه خانگی کاربر هم اضافه کنی برنامه‌ت کار کنه

                  1 Reply Last reply
                  0
                  • S Offline
                    S Offline
                    soroush
                    wrote on last edited by
                    #9

                    [quote author="william wallace" date="1370372467"]ببخشید با پای پتی میام وسط گود
                    من تازه چند روزیه که با کیوت شروع به برنامه نویسی کردم (درست‌تر بگم شروع به یادگیری) و توی گنو/لینوکی هم تازه‌کارم
                    اگه نمی خوای با خود کیوت پکیج بسازی بهترین کار اینه که با نوشتن یک اسکریپت همه کتابخونه های مورد نیاز رو به lsdv
                    usr/lib
                    کپی کنی البته فکر کنم اگه همین مسیر رو به پوشه خانگی کاربر هم اضافه کنی برنامه‌ت کار کنه[/quote]

                    p{direction:rtl; text-align:right}. بهترین راه برای داغون کردن یه سیستم لینوکسی همینه که library ها رو مستقیم کپی کنی :|

                    1 Reply Last reply
                    0

                    • Login

                    • Login or register to search.
                    • First post
                      Last post
                    0
                    • Categories
                    • Recent
                    • Tags
                    • Popular
                    • Users
                    • Groups
                    • Search
                    • Get Qt Extensions
                    • Unsolved