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

روش افزودن کتابخانه‌های دیگر به محیط 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();
}

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

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


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

برای ارسال دیدگاه یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

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

ایجاد یک حساب کاربری

برای حساب کاربری جدید در سایت ما ثبت نام کنید. عضویت خیلی ساده است !

ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید

ورود به حساب کاربری

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

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

  • مطالب مشابه

    • توسط veria.kurdish
      سلام خدمت اساتید محترم.
      یک فایل txt دارم با محتویات زیر:
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   d............... 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
          00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................ 
       
      و توسط تکه کد پایین این فایل رو میخونم. دو سوال داشتم خدمت اساتید محترم:
      آیا فانکشن خاصی هست بتونم کاراکتر های نقطه (.) و حرف d را حذف کنم و فقط صفر ها باقی بمونند؟ همین تغییراتی که در فایل انجام دادیم رو بیایم در یک فایل جدید و به صورت باینری ذخیره کنیم؟  
      #include <QCoreApplication> #include <QDataStream> #include <QFile> #include <QString> #include <QDebug> void read(QString filename) { QFile file(filename); if(file.open(QIODevice::ReadWrite)) { qDebug() << "file opened!" << "\n" << "\n"; qDebug() << file.readAll(); } } int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); QString file = ":/test/1.txt"; read(file); return a.exec(); }
    • توسط سید محمد عباسی
      در این ویدیو آموزش تهیه خروجی برنامه در Qt رو یاد خواهید گرفت.
      لینک دانلود فایل دانلود
    • توسط veria.kurdish
      سلام خدمت اساتید محترم.
      اصولا وقتی پروژه ای تحت زبان C++ و  در محیط Qt تحویل بگیریم، باید به چه صورتی پروژه رو تحلیل کنیم که کلاس های مرتبط با پروژه رو در Qt پیدا کرده و شروع به سازماندهی و طراحی برنامه کنیم؟ 
      مشکل اصلی من پیدا کردن کلاس مرتبط با پروژه هست. ممنون میشم از اساتید با ذکر مثالی راهنمایی فرمایید.
    • توسط veria.kurdish
      سلامی دوباره خدمت اساتید عزیز. اگر بخواهیم در Qt Widget برنامه ای در ویندوز کامپایل کنیم ولی استایل برنامه شبیه به استایل برنامه های لینوکس باشد باید به چه روشی عمل کرد؟ آیا امکان پذیر است؟ 
      با تشکر
×