الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ازاي اربط المشروع بتاعي بي الاستاتيك ليبراري بدل دينمك ليبراري

بدأه seikoo في 27 أبريل 2009 · 4 رد · 2,009 مشاهدة · في قسم Cross Platform GUI Libraries العام
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم 

انا وجهتني مشكلة انا بستخدمة اي دي كيوتي كريتور اخر فيرجن 

مش عارف اربط المشروع بتاعي بمكاتب ستاستيك بدل دينمك

فلو ياريت حد حد يقلي ازاي اربطها يبقي عامل معايا واجب مش هنسهوله

لاني لسه مبتدا في الكيوتي من امبارح

ده محتوي .pro

QT += network sql

QT -= gui

TARGET = Server

CONFIG += console

CONFIG -= app_bundle

TEMPLATE = app

SOURCES += main.cpp

انا عاوز اضيف 

QCoreApplication

QtNetwork

QtSql

#2

وعليكــم السـلام ورحمة الله وبركاتـه..

يجب عليك ان تعيد بناء Qt اولا ، وجعلها static وليس shared ، وهذا يتم عن طريق الامر configure وتفعيل الخصائص التي تريدها .

في ويندوز ادخل على مجلد Qt ونفذ :

configure.exe -static

وبعد الانتهاء نفذ:

make sub-src

ثم

make install

ولحذف الملفات الناتجة من عملية الترجمة نفذ:

make confclean

وفي لينوكس ادخل على أي سورس كود ل Qt ونفذ:

./configue -static

make sub-src

make install

والان انشئ مشروعك ، ثم في ملف المشروع .pro اضف :

CONFIG += static

الى اللقاء.

#3

ممكن توضيح الفرق بين static و dynamic ؟؟

#4

عندما تربط الملف التنفيذي مع مكتبة static فان ال linker يقوم بدمج الملف التنفيذي مع ملف المكتبة ، وبهذا يصبح حجم الملف التنفيذي أكبر ، وايضا سيعمل الملف التنفيذي في اي جهاز بدون توفر تلك المكتبة .

وهذا سيسهل علينا نقل برامج كيوت الى اي جهاز لا يحتوي على مكتبة كيوت ..

ويعيب هذه الطريقة ان حجم الملف التنفيذي الناتج سيكون كبيرا ، ايضا في حالة تم صدور نسخة جديدة للمكتبة فانه يجب عمل recompile للكود .

اما عندما تربط الملف التنفيذي مع مكتبة Dynamic "غالبا تكون Shared" -وهو الوضع الافتراضي لـ Qt - فان الملف التنفيذي لن يعمل الا في حالة توفر المكتبة في الجهاز ، وحجم الملف التنفيذي سيكون أقل بكثير من النسخة التي تستخدم الـ static libs ، وتستطيع استبدال المكتبة بنسخ أحدث دون الحاجة الى إعادة ترجمة الكود.

هذا بشكل مختصر جدا ، وللاستزادة راجع:

http://en.wikipedia.org/wiki/Library_(computing)

http://en.wikipedia.org/wiki/Linker

http://www.dwheeler.com/program-library/Pr...OWTO/index.html

http://www.network-theory.co.uk/docs/gccintro/index.html

واي سؤال يرحب به..

#5

بالبداية اشكرك سيدي على هذا الموضوع

واود ان استفسر حول

اقتباس
في ويندوز ادخل على مجلد Qt ونفذ :

configure.exe -static

بصراحة لم افهم مقصدك ...ففي الحقيقة انا لدي ملف دوز باسم configure يقع ضمن المسار C:\Qt\2009.03\qt وعندما قوم بتشغيله تظهر لي رسالة تسألني عن نوع الكيتي الذي استخدمه !..فهل يمكن التوضيح اكثر لو سمحت.

***من الأفضل أن تمشي ببطء إلى الأمام على أن تمشي مسرعاً إلى الخلف***

مواضيع مشابهة