استفاده از فریم‌ورک Qt با CMake (در CLion)

IDE قدرت‌مند CLion از روش مستقیمی برای استفاده از فریم‌ورک Qt در آن بهره‌مند نیست زیرا با qmake همخوانی نداشته و از سیستم مدیریت Build متن‌باز CMake استفاده می‌کند. در این مقاله به شیوه افزودن Qt به CMake پروژه در CLion خواهیم پرداخت.

11 تیر‌ماه 1396
محمد فرهمند

فریم‌ورک Qt را می‌توان قدرتمند‌ترین و قدیمی‌ترین فریم‌ورک طراحی GUI با عمری بالغ بر 22 سال در زبان C++ دانست. CLion یکی از محصولات شرکت JetBrains و IDE برای زبان C/C++ بر پایه IntelliJ است که هر روزه بر محبوبیت آن افزوده می‌شود. با این وجود تاکنون هیچ افزونه‌ی رسمی‌ای برای استفاده از فریم‌ورک Qt در CLion وجود ندارد. CLion از سیستم Build موسوم به CMake استفاده می‌کند اما Qt از qmake برای Build پروژه بهره می‌گیرد. با این وجود امکان شبیه‌سازی qmake در CMake وجود دارد.

این مقاله بر اساس ورژن 5.9 فریم‌ورک Qt و ورژن 2017.1.3 نوشته شده است.

بدین منظور نخست در تنظیمات CLion (منوی File – گزینه Settings) به تنظیمات CMake در دسته Build, Execution, Deplyment مراجعه کنید. سپس در فیلد CMake options عبارت زیر را اضافه کنید:

عبارت [QT CMAKE LIBRARY PATH FOR THE USED COMPILER] را با مسیر محل قرار‌گیری پرونده‌های CMake فریم‌ورک جایگزین کنید. این پرونده‌ها معمولا در محل نصب کتابخانه فریم‌ورک و درون پوشه‌ای با نام Compiler مورد استفاده شما و سپس lib قرار دارند.

نتیجه شبیه به تصویر زیر خواهد بود:

تنظیمات را ذخیره کنید. حال به پرونده CMakeLists.txt در پروژه که به طور خودکار توسط CLion ایجاد می‌شود مراجعه کنید. محتویات این پرونده شبیه به این تکه کد است:

به جای [PROJECT NAME] نام پروژه شما قرار می‌گیرد.

نخست دستورات زیر را پس از خط ششم اضافه کنید:

سپس در خط آخر پس از ${SOURCE_FILES} عبارت main.moc را اضافه کنید.

در آخر خط زیر را به انتهای فایل اضافه کنید:

به خاطر داشته باشید که [PROJECT NAME] را با نام پروژه خود جایگزین کنید.

نتیجه نهایی تغییرات فوق شبیه به تکه کد زیر خواهد بود:

در کد فوق پروژه Qt_Template_Project نام دارد.

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

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *