رفتن به مطلب
جامعهٔ برنامه‌نویسان مُدرن ایران
کامبیز اسدزاده

روش افزودن کتابخانه‌های دیگر به محیط Qt Creator


پست های پیشنهاد شده

سلام،

بنابر درخواست اعضای محترم لازم شد آموزشی در رابطه با نحوهٔ افزودن کتابخانه‌های دیگر به این محیط را توضیح دهیم. من در این آموزش کتابخانهٔ Poco را در نظر گرفته ام. کتابخانه را دانلود کرده و در یک مسیر مشخص اضافه کنید. برای مثال C:/MyLib/poco-1.9.0-all و یا در لینوکس و مک در مسیر /Users/{username}/Documents/Libs/poco-1.9.0-all در نظر داشته باشید که هر کتابخانه‌ای معمولاً دارای دو پوشه lib و include خواهد بود که شما باید این دو را به پروژهٔ خود اضافه کنید.

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

cd /Users/username/Documents/Libs/poco-1.9.0-all

سپس دستور ./configure و بعد از آن دستور make را اجرا کنید تا کتابخانه شروع به کامپایل شدن کند. بعد از کامپایل در پوشهٔ lib تمامی کتابخانه‌ها ایجاد خواهند شد.

 

وارد محیط Qt Creator شده و سپس بعد از ایجاد یک پروژه بر روی آن راست کلیک و گزینهٔ add library را انتخاب کنید.

Screen Shot 2018-06-13 at 13.53.39.png

سپس گزینهٔ External library را انتخاب نمایید.

Screen Shot 2018-06-13 at 13.55.48.png

در مرحلهٔ بعد فایل libPocoFoundation.60.dylib و libPocoNet.60.dylib را در بخش library file و سپس مسیر include آن را در include path وارد کنید که مشابه مسیر زیر خواهد بود.

Library file : /Users/kambiz/Documents/Libs/poco-1.9.0-all/lib/Darwin/x86_64/libPocoFoundation.60.dylib
Include path : /Users/kambiz/Documents/Libs/poco-1.9.0-all/Foundation/include
Library file : /Users/kambiz/Documents/Libs/poco-1.9.0-all/lib/Darwin/x86_64/libPocoNet.60.dylib
Include path : /Users/kambiz/Documents/Libs/poco-1.9.0-all/Net/include

بعد از افزودن کسیر و کتابخانه کُد تولید شده در فایل .pro به صورت زیر خواهد بود:

win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../Libs/poco-1.9.0-all/lib/Darwin/x86_64/release/ -lPocoFoundation.60
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../Libs/poco-1.9.0-all/lib/Darwin/x86_64/debug/ -lPocoFoundation.60
else:unix: LIBS += -L$$PWD/../../Libs/poco-1.9.0-all/lib/Darwin/x86_64/ -lPocoFoundation.60

INCLUDEPATH += $$PWD/../../Libs/poco-1.9.0-all/Foundation/include
DEPENDPATH += $$PWD/../../Libs/poco-1.9.0-all/Foundation/include

win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../Libs/poco-1.9.0-all/lib/Darwin/x86_64/release/ -lPocoNet.60
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../Libs/poco-1.9.0-all/lib/Darwin/x86_64/debug/ -lPocoNet.60
else:unix: LIBS += -L$$PWD/../../Libs/poco-1.9.0-all/lib/Darwin/x86_64/ -lPocoNet.60

INCLUDEPATH += $$PWD/../../Libs/poco-1.9.0-all/Net/include
DEPENDPATH += $$PWD/../../Libs/poco-1.9.0-all/Net/include

مراحل افزودن به پایان رسید، وارد محیط کیوت شده و داخل فایل main.cpp هدر‌های مرتبط با کتابخانه و همچنین کُد آزمایشی آن را اضافه کنید. در این مثال من از کتابخانهٔ Net استفاده می‌کنم.

//Qt Lib
#include <QCoreApplication>

//STL & External Lib

#include "Poco/Net/SocketAddress.h"
#include "Poco/Net/StreamSocket.h"
#include "Poco/Net/SocketStream.h"
#include "Poco/StreamCopier.h"
#include <iostream>

int main(int argc, char *argv[])
{
  QCoreApplication a(argc, argv);

  Poco::Net::SocketAddress sa("www.iostream.ir", 80);
  Poco::Net::StreamSocket socket(sa);
  Poco::Net::SocketStream str(socket);
  str << "GET / HTTP/1.1\r\n"
   "Host: www.iostream.ir\r\n"
   "\r\n";
  str.flush();
  Poco::StreamCopier::copyStream(str, std::cout);

  return a.exec();
}

برنامه را کامپایل و اجرا کنید ?

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام خسته نباشید.

میشه خواهش کنم نحوه پیکربندی و بیلد کردن در ویندوز و توضیح بفرمایید؟ 

ممنون میشم

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
در 2 دقیقه قبل، aliaydin گفته است :

سلام خسته نباشید.

میشه خواهش کنم نحوه پیکربندی و بیلد کردن در ویندوز و توضیح بفرمایید؟ 

ممنون میشم

روش رو دقیقاً طبق همین توضیحات پیش بگیرید، با این تفاوت که در پلتفرم ویندوز هستید.

این آموزش مرتبط رو هم مطالعه کنید :

در صورتی که موفق نشدید اطلاع بدین تا آموزش مخصوصی در رابطه با این کتابخانه قرار داده شود.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

توی command prompt امتحان کردم میگه دستور ./configure شناخته شده نیست

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

آقا من هر کاری کردم نشد دیگه نمیدونم چکار کنم.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
در 29 دقیقه قبل، aliaydin گفته است :

آقا من هر کاری کردم نشد دیگه نمیدونم چکار کنم.

توی ویندوز راحت‌ترین و ساده ترین روش این هست که شما فایل ALL_BUILD.vcxproj رو با ویژوال استودیو باز کنید و کامپایلش کنید. اگر این فایل موجود نبود از داخل هر یک از ماژول‌های مربوطه فایل مربوط به پروژه رو باز کنید و کامپایلش کنید.

در نظر بگیرید که باید OpenSSL بر روی سیستم شما هم نصب باشه.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

با توجه به روشی که توضیح دادید چکار کنیم که کتابخانه ی از نوع shared داخل خروجی امبد بشه؟(برای لینوکس و اندروید)

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
در در 30 آذر 1398 در 00:50، amirb گفته است :

با توجه به روشی که توضیح دادید چکار کنیم که کتابخانه ی از نوع shared داخل خروجی امبد بشه؟(برای لینوکس و اندروید)

روشی که توضیح داده شده بود به همین مدل اشاره داشت.
باید توجه داشته باشید که فایل‌هایی با پسوند .a برای کتابخانه‌های ایستا و .so برای نوع داینامیک یا همون Shared هستند. البته باید توجه کنید حتماً روی کیت اندروید و لینوکس کتابخانه‌های مربوطه را کامپایل و به پروژه اضافه کنید.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو ملحق شوید

شما همین الآن می‌توانید مطلبی را ارسال و بعداً ثبت‌نام کنید. اگر حساب کاربری دارید، و با حساب کاربری خود مطلب ارسال کنید.
نکته: مطلب شما قبل از انتشار نیاز به بازبینی توسط میانجی‌گر‌ها دارد.

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از ۷۵ اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به عنوان یک لینک به جای

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.


  • کاربران آنلاین در این صفحه   0 کاربر

    هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.

×
×
  • جدید...