السلام عليكم ورحمة الله وبركاتة
عندى مشكلة فى QT مع PostgreSQL و هى بخصوص بناء Plugin الخاص بقاعده البيانات PostgreSQL
قمت من قبل ببناء Plugin الخاص بقاعده البيانات MySQL و نجح البناء بدون مشاكل و يتم تحميلها بدون مشاكل فى مثال SQL Browser و خطوات البناء بسيطة و هى
1- تحويل المكتبه libmysql.lib إلى libmysql.a
2- صناعه makefile
qmake -o Makefile "INCLUDEPATH+=C:\PROGRA~1\MySQL\MYSQLS~1.0\include" "LIBS+=C:\PROGRA~1\MySQL\MYSQLS~1.0\lib\opt\libmysql.a" mysql.pro
3- قمت بتنفيذ mingw32-make
و هذه هى خطوات بناء Plugin الخاص بقاعده البيانات MySQL مستخدماً mingw على الوندوز و بالتأكيد هى نفسها نفس الخطوات المطلوبه لبناء Plugin الخاص بقاعده البيانات PostgreSQL و لكنى واجهت عده مشاكل منها عند تحويل مكتبه libpq.lib إلى libpq.a يتم إنشاء قبل كل أسماء الوظائف الرمز "_" فى ملف def و هذا يؤدى إلى فشل بناء Plugin ولكنى قمت بإزالتها و تم البناء بدون مشاكل :wink:
ولكن الـ Plugin لا يتم تحميله فى مثال SQL Browser علماً بأننى أستخدم PostgreSQL 8.3 و QT4.4.3
قتحت ملفات C و H الخاصة بالـ Plugin فوجدتها تتعامل مع PostgreSQL 8.2 كأقصى إصدار فقمت بإضافة 8.3 و ظبطت كل حاجه فيها و ثم قمت ببنائها مرة أخرى و للأسف لم يتم تحميلها أيضاً مع العلم أنها يجب أن يتم تحميلها دون النظر لإصدار PostgreSQL :happy:
قولت أروح أفتح سورس المثال يمكن يكون فيه المشكله فوجدت المثال يتجاهل QPSQL7 فى ملف qsqlconnectiondialog.cpp كالأتى
- drivers.removeAll("QPSQL7");
قمت بإزاله هذا السطر ثم قمت ببناء المثال و لكن بدون فائده :S
أين المشكله ؟
هل المشكلة فى المثال على أساس أنه لا يتعامل مع PostgreSQL أساساً نظراً لأنه يجب تحديد قاعده البيانات و Schema التى سيتم العمل عليها أما فى قاعده بيانات MySQL يتم تحديد قاعده البيانات فقط فهيكله MySQL مختلفة عن PostgreSQL
طبعاً المشكله ليست فى مسارات المكتبات و الحجات الصغيرة دى :lol:
I need your help :cry:
