Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Persian
  4. مشکل در ساخت فایل .lib
Forum Updated to NodeBB v4.3 + New Features

مشکل در ساخت فایل .lib

Scheduled Pinned Locked Moved Persian
9 Posts 2 Posters 4.8k 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.
  • C Offline
    C Offline
    CuteKQ
    wrote on last edited by
    #1

    سلام دوستان. دارم از
    C++ library > Statical Linked library
    استفاده می کنم و می خوام یه فایل دات لیب بسازم.. اما وقتی پروژه رو بیلد می کنم این فایل ساخته نمیشه... کسی می دونه علتش چیه؟
    uses :
    Qt Creator 2.4.1
    platform : windows
    Qt 4.8.1

    project .pro file:

    QT -= gui

    TARGET = untitled4
    TEMPLATE = lib
    CONFIG += staticlib

    SOURCES += untitled4.cpp

    HEADERS += untitled4.h
    unix:!symbian {
    maemo5 {
    target.path = /opt/usr/lib
    } else {
    target.path = /usr/lib
    }
    INSTALLS += target
    }

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

      p{direction: rtl; text-align: right}. کامپایلرت چیه؟

      1 Reply Last reply
      0
      • C Offline
        C Offline
        CuteKQ
        wrote on last edited by
        #3

        4.8.1 for desktop - mingW

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

          p{direction: rtl; text-align: right}. :| MinGW از فایل‌های .lib استفاده نمی‌کنه. به‌جاش فایل .a می‌سازه

          1 Reply Last reply
          0
          • C Offline
            C Offline
            CuteKQ
            wrote on last edited by
            #5

            نمی دونستم. برای ساخت فایل دت لیب باید چه کار کنم حالا؟
            ازین فیل دات ای می ت.نم تو ویندوز استفادهد کنم؟

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

              [quote author="soroush" date="1346052437"]p{direction: rtl; text-align: right}. :| MinGW از فایل‌های .lib استفاده نمی‌کنه. به‌جاش فایل .a می‌سازه[/quote]

              p{direction: rtl; text-align: right}. شما باید اول به‌طور کامل یاد بگیرید که یک فایل .a و یا .lib چی هست و همچنین فایل‌های .dll و .so چی هستن.

              p{direction: rtl; text-align: right}. کتابخونه‌ها دو نوع هستند: استاتیک و داینامیک. در
              gcc شما کتابخونه‌های استاتیک با پسوند .a دارید. و در MSVC با پسوند .lib . وقتی از MinGW استفاده می‌کنید در واقع از ابزار GNU GCC کتابخونه‌های استاتیک شما پسوند .a خواهد داشت.

              p{direction: rtl; text-align: right}. همچنین کتابخانه‌های داینامیک وجود دارند که توی لینوکس با پسوند .so و توی ویندوز با پسوند .dll مشخص میشه. کد این کتابخانه‌ها داخل کد برنامهٔ شما قرار نمی‌گیره و به زمان بارگزاری از حافظهٔ خارج از برنامهٔ شما بارگذاری میشه.

              p{direction: rtl; text-align: right}. برای استفاده از این کتابخونه‌ها توی ویندوز باید اطلاعات symbol table رو داشته باشید که لینکر بتونه لینک کنه. symbol table یک کتابخانهٔ استاتیک هست.

              p{direction: rtl; text-align: right}. به همین دلیل برای استفاده از یک dll شما باید فایل .lib اون رو داشته باشید. برای یک dll که با MinGW ساخته شده باشه، باید فایل .a رو لینک کنید.

              1 Reply Last reply
              0
              • C Offline
                C Offline
                CuteKQ
                wrote on last edited by
                #7

                ممنون سروش جان .. تفاوت اینها رو تا حدی می دونستم ... داکیومنتی هست که بتونم به طور کامل مطالعه کنم این هارو؟
                ممنون از لطفت بازم... چیز یاد گرفتم کلی

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

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

                  p{direction:rtl; text-align:right}. از کتابخانه‌های .a خیلی راحت می‌تونی توی ویندوز استفاده کنی. این‌طور درنظر بگیر که بعد از لینک یک کپی از همون فایل .a داخل کد برنامه‌ت قرار داده میشه.

                  چند تا لینک:

                  "ABI":http://en.wikipedia.org/wiki/Application_binary_interface
                  "Library":http://en.wikipedia.org/wiki/Library_(computing)
                  "Linker":http://en.wikipedia.org/wiki/Linker_(computing)
                  "DLL":http://en.wikipedia.org/wiki/Dynamic_link_library
                  "Static Library":http://en.wikipedia.org/wiki/Static_library
                  "Dynamic Loading":http://en.wikipedia.org/wiki/Dynamic_loading

                  1 Reply Last reply
                  0
                  • C Offline
                    C Offline
                    CuteKQ
                    wrote on last edited by
                    #9

                    باز هم ممنون سروش جان... از دات ای تونستم استفاده کنم....
                    و خیلی هم خوب بود... موفق باشی

                    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