رفتن به مطلب
مرجع رسمی سی‌پلاس‌پلاس ایران

کامبیز اسدزاده

بنیـــان گذار
  • تعداد ارسال ها

    505
  • تاریخ عضویت

  • روز های برد

    266

تمامی مطالب نوشته شده توسط کامبیز اسدزاده

  1. مایکروسافت در به‌روز‌رسانی بعدی خود که در ماه‌های اول سال ۲۰۲۰ عرضه خواهد شد، مرورگر اج خود را حذف خواهد نمود و بر اساس گزارش ها مرورگری برا پایه کرومیوم را عملکردی متفاوت در اختیار کاربران قرار خواهد داد. در ادامه به جزییات این خبر خواهیم پرداخت. حذف نسخه قدیمی مرورگر اج از ویندوز 10 مایکروسافت مراحل حذف مرورگر Edge را آغاز کرده است تا فضا را برای مرورگر جدید خود ایجاد کند. البته این جایگزینی فعلا انجام نخواهد شد و فقط شاهد حذف این مرورگر خواهیم بود. البته حذف این مرورگر نیز به طور کامل انجام نخواهد شد و نسخه پنهانی از آن در بین برنامه های ارائه می شود اما مراحل حذف آن در حال انجام است. البته دوره این وضعیت موقت خواهد بود و به زودی شاهد مرورگر جدیدی در ویندوز 10 خواهیم بود. اولین تست مرورگر اج مبنی بر کرومیوم برای ویندوز 10 ارائه شد و در اختیار توسعه دهندگان قرار گرفت در نتیجه این مرورگر در مراحل نهایی خود قرار دارد. در واقع این مرورگر جدید با بهره گیری از توابع کروم توانسته تا مرورگری متفاوت و با کارایی بالا را ارائه دهد در نتیجه امکان پشتیبانی از قابلیت های کروم نیز در آن وجود خواهد داشت. نسخه جدیدی و بعدی مرورگر اج بر پایه کرومیوم برای کاربران ویندوز 7، 10 و حتی سیستم عامل مک قابل استفاده خواهد بود اما هنوز زمان دقیق انتشار آن مشخص نشده است. نظرات خود را در راستای این مرورگر جدید اج و حذف مرورگر قبلی از ویندوز 10 بیان کنید.
  2. کامبیز اسدزاده

    سلام، قبل از پرسید سوأل جستجو کنید! خطای cannot find -lGL - محیط توسعه Qt Creator - جامعه‌ی برنامه‌نویسان مُدرن ایران
  3. با سلام، همانطور که می‌دانید، مستندات کتابخانه‌ی کیوت در بخش Help محیطِ Qt Creator یکی از بهترین و در دسترس‌ترین مستنداتی است که در اختیار توسعه‌دهندگان قرار گرفته است تا بتوانند هر زمان که نیاز باشد در حالت آفلاین به بانک عظیمی از مستندات و راهنمایی‌های آن دسترسی داشته باشند. حال با توجه به مزایای این بخش در کیوت کریتور، روشی را پیشنهاد می‌کنیم که به شما اجازه می‌دهد مستندات STL زبان را به این بخش اضافه کنید تا دیگر نیازی نباشد به مرجع آنلاین آن مراجعه کنید. برای این کار کافی است مستندات مرجع استاندارد ۱۷ را از این لینک دریافت کنید. معمولاً آخرین نسخه و همچنین نسخه‌های پیشین مستندات آفلاین مرجع سی‌پلاس‌پلاس در این بخش برای همگان ارائه می‌شود. فایل qch را استخراج کرده و به مسیر Preferences و گزینه‌ی Help به زبانه‌ی Documentation بروید و با زدن دکمه‌ی Add فایل qch را انتخاب و به مستندات اضافه کنید. از این پس می‌توانید به آرشیو جامع مستندات مرجع cppreference.com در محیط کیوت کریتور دسترسی داشته باشید. ?
  4. کامبیز اسدزاده

    درود، خب چه خطایی؟
  5. کامبیز اسدزاده

    خب دوست عزیز انتظار داری بدون به‌روز‌رسانی مخازن و پذیرش مجوز‌ها کار کنه؟ برای این کار باید به زبانه‌ی Device رفته و مخازن رو به‌روز کنید. در مورد این کار تحقیق کنید.
  6. کامبیز اسدزاده

    سلام، در کیوت ۵.۱۲ از NDK R18 استفاده کن، نسخه‌ی R20 کیوت ۵.۱۳ می‌طلبه.
  7. کامبیز اسدزاده

    سلام، شما باید به نسخه‌ی خود Qt هم توجه کنید، شما از نسخه‌ی کیوت ۵.۱۲ داری استفاده می‌کنی که NDK 20 رو پشتیبانی نمی‌کنه، مگر اینکه فلگ -nostdlib++ رو اعمال کنی که در زیر مثال زدم. بنابراین تنها از کیوت ۵.۱۳ به اینور پشتیبانی می‌شه، برای نسخه‌های پایین‌تر از NDK R18 استفاده کن. QMAKE_LINK += -nostdlib++ درضمن NDK ویندو برای ویندوز هست نباید اون رو برای لینوکس استفاده کنی (نسخه‌ی مخصوص لینوکس رو دریافت کن). بعد از دریاف جهت به‌روزرسانی‌ مخازن هم حتماً باید از شبکه‌ی پایدار استفاده کنی تحت وی‌-‌پی‌-ان تا بتونی دانلود رو به درستی انجام بدی. قبل از پرسش‌های تکراری هم حتماً یک جستجو در وب‌سایت انجام بده تا به پاسخ‌های مرتبط برسی : آخرین تغییرات و به‌روزرسانی‌های NDK - برنامه نویسی تحت محصولات گوگل - جامعه‌ی برنامه‌نویسان مُدرن ایران مشکل خروجی گرفتن از اندروید در Qt 5.12 - موبایل و اِمبِد‌ها - جامعه‌ی برنامه‌نویسان مُدرن ایران پیغام خطا هنگام خروجی گرفتن در اندروید - فناوری Qt Quick و QML - جامعه‌ی برنامه‌نویسان مُدرن ایران
  8. نسخه‌ی ۵.۱۳.۰ کیوت با به‌روز‌رسانی‌ها، ویژگی‌های جدید و بهبود‌های بسیاری همراه با پشتیبانی از OpenSSL 1.1 انتشار یافت. کیوت برای وب‌اسمبلی (Qt for WebAssembly) پشتیبانی از WebAssembly در این نسخه به طور کامل ارائه شده است که به کاربران اجازه می‌دهد برنامه‌های نوشته شده سی‌پلاس‌پلاس تحت کیوت را در سمت سرور راه‌اندازی کنند تا بدون نیاز به نصب هرگونه پکیجی از کیوت در سمت کلاینت تنها با استفاده از مرورگر خود به آن دسترسی داشته باشند. با توجه به گزارشات کیوت سرعت خود را برای توسعه‌ی این ویژگی تنظیم کرده است. همچنین گوگل در رویداد اخیر خود به نحوه‌ی اجرای برنامه‌های سی++ تحت این ویژگی اشاره کرده است. برخی از مثال‌های موجود برای این ویژگی در این آدرس موجود هستند. ماژول Qt GUI ماژول Qt GUI کلاس‌ها را برای یکپارچه‌سازی پنجره‌های سیستمی، مدیریت رویداد‌ها، OpenGL و OpenGLES، گرافیک ۲ بعدی، تصویرسازی پایه، فونت‌ها و متن‌ها خلاصه کرده است. ماژول Qt QML در این به‌روز‌رسانی ماژول کیوت‌کیو‌ام‌اِل یک چهارچوب برای توسعه‌ی رابط کاربری مایع (Fluid) در زبان QML را فراهم می‌کند. در این نسخه پشتیبانی از شمارنده‌های سی‌پلاس‌پلاس (enums) و همچنین مقادیر اتصال null در جاوا‌ اسکریپت در زمان کامپایل بهینه‌سازی شده است. همچنین پشتیبانی از ساخت توابع ۶۴ بیتی در ویندوز در پُشته (اِستک) تحت توابع JITed فراهم شده است. ماژول کیوت کوئیک (Qt Quick) و کنترل‌های کیوت‌ کوئیک ۲.۰ (Qt Quick Controls 2.0) به‌روزرسانی‌هایی جهت نوشتن برنامه‌های QML و کنترل‌های رابط کاربری در کتابخانه‌های استاندارد اعمال شده‌اند. همچنین پشتیبانی از TableView با ویژگی مخفی سازی ردیف‌ها و ستون‌ها اضافه شده است. ماژول وب‌انجین (Qt WebEngine) وب‌انجین با ویژگی‌های سریع کرومیوم به نسخه‌ی ۷۳ به‌روز‌رسانی شده است. همچنین ویژگی نمایش PDF تحت افزونه‌های کرومیوم، گواهی‌های پشتیبانی از کیو‌ام‌ال، رابط‌های برنامه‌نویسی و یک thread-safe ارائه به آن اضافه شده است. ماژول شبکه (Qt Network) این ماژول مجموعه‌ای از رابط‌های برنامه‌نویسی را برای برنامه‌های کاربردی که از TCP/IP استفاده می‌کنند فراهم می‌سازد که پشتیبانی از کانال امن برای سوکت SSL و پشتیبانی از OCPS به آن اضافه شده است. نسخه‌ی ۵.۱۳.۰ اکنون از OpenSSL 1.1 برای پشتیبانی از اتصالات SSL در لینوکس و اندروید استفاده می‌کند. ماژول رسانه‌ (Qt Multimedia) همانطور که می‌دانید این ماژول، مجموعه‌ای از انواع QML و کلاس‌های C++ را برای پردازش محتوای چند‌رسانه‌ای فراهم می‌کند که در این به‌روز‌رسانی بخش بی‌نظیری در QML Video Output با استفاده از ویژگی flushMode و پشتیبانی از GStream برای ویندوز، مک‌او‌اِس و هدر HTTP و نقش‌های صوتی برای اندروید اضافه شده‌است. ماژول Qt KNX سرویس KNX به عنوان خدمات اتصال در سمت کاربر، جهت اتصال برای ارسال پیام به KNX و کنترل ویژگی‌های دستگاه آن که معمولاً در ساخت اتوماسیون استفاده می‌شود در نسخه‌ی ۵.۱۳ رابط‌های برنامه‌نویسی کاربری امنی را دریافت کرده است. ماژول Qt OPC UA نسل بعدی برنامه‌های صنعتی ۴.۰ بر اساس معماری کاربر/سرور محور است که شامل برخی از به‌روز‌رسانی‌ها می‌باشد. به طور عمده رابط‌های برنامه‌نویسی C++ به طور کامل پشتییبانی و پیش‌نمایش‌های فنی از رابط‌های برنامه‌نویسی QML و یک رابط برنامه‌نویسی امن برای سمت کاربر در سی++ ارائه شده است. محیط توسعه‌ی Qt Creator برخی از به‌روز‌رسانی‌ها در این نسخه اعمال شده‌اند که شامل بهبود‌های مرتبط با رابط کاربری و همچنین ابزار Clang Analyzer و یک سری تجزیه کننده‌های QML ارائه شده است. همچنین پشتیبانی از ECMAScript 7 و افزونه پروفایل حدید برای نرم‌افزار در حال اجرا برای لینوکس اضافه شده است. محیط طراحی Qt Design Studio 1.2 آخرین نسخه‌ی طراحی و ابزار توسعه Qt UI در حال حاضر شما را به یکپارچگی طرح‌های خود از Sketch (علاوه‌بر فتوشاپ) دعوت می‌کند که اجازه می‌دهد آن‌ها را به کد QML تبدیل کنید. به خاطر محبوبیت ابزار Sketch برای طراحان آن به این محیط اضافه شده است و این باعث می‌شود رابطه‌ی بین طراحی و توسعه‌ی محصول بسیار راحت‌تر و نرم‌تر صورت بگیرد. همچنین گرادیان‌های پیچیده از شکل‌های کیوت کوئیک به آن اضافه شده است و بهبود‌ها و اصلاح‌های مختلفی اعمال شده است. کیوت برای پایتون در این به‌روز‌رسانی تعداد بسیار زیادی از بهبود‌ها به اولین نسخه‌ی رسمی در کیوت ۵.۱۲ اضافه شده است. پیشنهادات در صورتی که مایل به تجربه‌ی ویژگی‌های جدید کیوت مانند پشتیبانی از رندر برنامه‌ها در وب و یا حل بعضی از کمبود‌ها مانند TableView و غیره در کیوت کوئیک بهره‌مند باشید می‌توانید کتابخانه‌ی خود را به نسخه‌ی ۵.۱۳ به‌روز‌رسانی کنید. نکته : با توجه به مشکلات ناشی از OpenSSL و عدم هماهنگی درست آن در نسخه‌های اندروید و لینوکس که توسعه‌دهنده مجبور به نصب نسخه‌های سفارشی و قدیمی آن کتابخانه بود، از این پس می‌توانید در کیوت ۵.۱۳ از نسخه‌ی OpenSSL 1.1 استفاده کنید و اپلیکیشن‌های خود را تحت آخرین به‌روز‌رسانی‌های آن توسعه دهید. پشتیبانی از ویژگی‌های ویژه‌ی کرومیوم و همچنین حل مشکلات شمارنده‌ها در C++ یکی دیگر از دلایلی هستند که می‌توانند شما را ترغیب به استفاده از این نسخه کند. شما می‌توانید این نسخه‌ را همین الآن برای پلتفرم‌های تسعه‌ی ویندوز، مک‌او‌اِس و لینوکس دریافت و نصب کنید.
  9. کامبیز اسدزاده

    من گذرا یک نگاهی کردم به فایلی که بهش اشاره می‌کنید، وابستگی‌های خاص خودش رو داره (ظاهراً خام نیست). خطاهایی مشابه ReferenceError: $ is not defined هم معمولاً ا طرف کتابخانه‌ی JQuery هستند. درضمن لینک JS به QML نفرستید، حتماً باید از نوع لوکال استفاده کنید.
  10. کامبیز اسدزاده

    سلام، منظورتون از نمی‌شناسه دقیقاً چی هست؟ بحث سینتکس hilighter یا خطای کُد JS؟ همچنین نسخه‌ی Qt Creator رو بگین.
  11. کامبیز اسدزاده

    سلام، لطفاً مشخصات مرتبط با NDK, SDK و JDK را جهت بررسی بیشتر ارسال کنید. باید دقت کنید که نسخه‌ی کیوت ۵.۱۱ به بعد باید از نسخه‌های JDK 8.x و همچنین SDK 26 و NDK r18 استفاده کنید. دقت کنید در صورتی که از کیوت ۵.۱۱ و یا سری ۵.۱۲ استفاده می‌کنید باید نسخه‌ی NDK حتماً روی r18 باشه (تحت کامپایلر Clang) تا به درستی هدر‌های مورد نیاز رو شناسایی بکنه.
  12. کامبیز اسدزاده

    سلام، سمت سرور یک مقدار رو ارسال کن تحت متد GET یا POST مقدارش رو بررسی کن و اگه کمتر یا بیشتر بود بر اساس اون به شما اعلام وضعیت کنه. روش اعلان رو هم تحت نوتیفیکیشنی چیزی انجام بده.
  13. کامبیز اسدزاده

    کامپایلر MinGW-W64

    نگارش 8.1.0

    222 دریافت

    کامپایلر مینیمال گنو برای ویندوز یکی از مهمترین ابزار‌هایی است که معمولاً برنامه‌نویسان جهت کامپایلر کد‌های خود در محیط ویندوز استفاده می‌کنند. قبلاً کامپایلر MinGW32 به عنوان یک محیط توسعه‌ی متن باز نرم‌افزار برای ساخت اپلیکیشن‌های ویندوز مورد استفاده قرار می‌گرفت. توسعه‌ی پروژه‌ی اصلی MinGW در سال ۲۰۱۳ متوقف شد، اما یک جایگزین خوب با نام MinGW-w64 توسط یک توسعه‌دهنده‌ی متفاوت برای ایجاد رابط‌های جدید و پشتیبانی از معماری ۶۴ بیتی ارائه گردید. معمولاً دوست‌داران GCC (گنو) به دنبال این هستند که در محیط ویندوز کد‌های خود را تحت آن کامپایل کنند. جدیداً آخرین نسخه‌های این کامپایلر ۸ و ۹ می‌باشند که در صورت نیاز برای پشتیبانی از استاندارد‌های ۱۷ و ۲۰ سی‌پلاس‌پلاس با نصب نسخه‌ی ۸.۱.۰ این کامپایلر می‌توانید از آن بهره‌مند شوید. نکته: توجه داشته باشید که برای استفاده از این کامپایلر در ویندوز دو گزینه متفاوت موجود است، Posix و Win32. در صورتی که بخوهاید از ویژگی‌های چند-نخی C++11/C11 استفاده کنید گزینه‌ی Posix مناسب است. در غیر این صورت بدون پشتیبانی از این ویژگی نسخه‌ی win32 با استفاده از Api‌های خود ویندوز قابل استفاده می‌باشد.

    رایگان

  14. کامبیز اسدزاده

    خب قبلش باید اشاره کنید که با چه فناوری فرمتون رو طراحی می‌کنید؟! با QWidget یا Qt Quick؟ در هر دو حالت ما کنترل‌های لایه‌ای داریم مثل Qt Widgets Layout و Qt Quick Layout در هر کدوم از این موارد نگه‌دارنده‌های مورد نظر رو به کار بگیرید و داخل اون‌ها اشیاء رو مدیریت کنید. پیشنهاد می‌کنم اگه به حوزه‌ی موبایل علاقه‌مندین از کیوت‌کوئیک استفاده کنید نه ویجت.
  15. کامبیز اسدزاده

    پیشنهاد من این هست که شما باید platform tools ها رو هم نصب کنید، هر موردی که برای API 25 هستش رو دریافت و نصب بفرمایید. Android SDK Build Tools 25.0 - 25.0.3 SDK Platform 25.0 Google Apis arm Eabi v7a system image نیازی نیست تیک همه چیز رو بزنید، موارد بالا مهمترینشون هستند تا بتونید از api 25 استفاده کنید. دقت کنید که پایینتر از ۲۱ ارزشی نداره و منسوخ شده به حساب میاد.
  16. نسخه‌ی نهایی ۴.۹ Qt Creator انتشار یافت. در زیر می‌توانید جزئیات این نسخه را مورد بررسی قرار دهید. Qt Creator version 4.9 contains bug fixes and new features. The most important changes are listed in this document. For a complete list of changes, see the Git log for the Qt Creator sources that you can check out from the public Git repository. For example: git clone git://code.qt.io/qt-creator/qt-creator.git git log --cherry-pick --pretty=oneline origin/4.8..v4.9.0 General * Added high-level introduction to Qt Creator's UI for first-time users (QTCREATORBUG-21585) * Added option to run external tools in build or run environment of active project (QTCREATORBUG-18394, QTCREATORBUG-19892) * Improved selection colors in dark themes (QTCREATORBUG-18888) * Added -temporarycleansettings (alias -tcs) command line option Editing * Language Client * Added support for document outline (QTCREATORBUG-21573) * Added support for `Find References to Symbol Under Cursor` (QTCREATORBUG-21577) * Added support for code actions * Highlighter * Replaced custom highlighting file parser with `KSyntaxHighlighting` (QTCREATORBUG-21029) * Made it possible to filter bookmarks by line and text content in Locator (QTCREATORBUG-21771) * Fixed document sort order after rename (QTCREATORBUG-21565) Help * Improved context help in case of code errors or diagnostics (QTCREATORBUG-15959, QTCREATORBUG-21686) * Improved lookup performance for context help All Projects * Added `Expand All` to context menu (QTCREATORBUG-17243) * Added `Close All Files in Project` action (QTCREATORBUG-15593) * Added closing of all files of a project when project is closed (QTCREATORBUG-15721) * Added display of command line parameters to `Application Output` (QTCREATORBUG-20577) * Fixed that dragging file from `Projects` view to desktop moved the file (QTCREATORBUG-14494) * Fixed regression with `QTC_EXTENSION` environment variable QMake Projects * Fixed that adding files did not respect alphabetic sorting and indentation with tabs (QTCREATORBUG-553, QTCREATORBUG-21807) * Fixed updating of `LD_LIBRARY_PATH` environment variable (QTCREATORBUG-21475) * Fixed updating of project tree in case of wildcards in corresponding QMake variable (QTCREATORBUG-21603) * Fixed issues with project tree when files are directly added to `RESOURCES` (QTCREATORBUG-20103) * Fixed that importing build unnecessarily created temporary kit (QTCREATORBUG-18153) CMake Projects * Fixed that default build directory names contained spaces (QTCREATORBUG-18442) * Fixed that build targets were reset on CMake parse error (QTCREATORBUG-21617) * Fixed scroll behavior when adding configuration item Qbs Projects * Fixed crash when switching kits (QTCREATORBUG-21544) Generic Projects * Added deployment via `QtCreatorDeployment.txt` file (QTCREATORBUG-19202) * Added setting C/C++ flags for the code model via `.cflags` and `.cxxflags` files (QTCREATORBUG-19668) * Fixed `Apply Filter` when editing file list (QTCREATORBUG-16237) Compilation Database Projects * Fixed that project tree was not updated when database changes on disk (QTCREATORBUG-21733) C++ Support * Added code snippet for range-based `for` loops * Added option to synchronize `Include Hierarchy` with current document (QTCREATORBUG-12022) * Clang Code Model * Added buttons for copying and ignoring diagnostics to tooltip * Fixed issue with high memory consumption (QTCREATORBUG-19543) * Fixed inconsistency between `Follow Symbol` and `Ctrl + Click` (QTCREATORBUG-21637) * Fixed that global completion was shown after comma (QTCREATORBUG-21624) * Clang Format * Added option to format code instead of only indenting code * Added `Open Used .clang-format Configuration File` to editor's context menu * Fixed indentation issue after empty line (QTCREATORBUG-22238) QML Support * Updated to parser from Qt 5.12, adding support for ECMAScript 7 (QTCREATORBUG-20341, QTCREATORBUG-21301) * Added Qt 5.13 as option to the wizards * Improved error handling in Qt Quick Application project template (QTBUG-39469) * Fixed crash on `Find Usages` Python * Added project templates for Qt for Python Nim Support * Added code completion based on `NimSuggest` Debugging * Added pretty printing of `QSizePolicy` * Fixed that debugger toolbar could force large minimum window size (QTCREATORBUG-21885) * Fixed restoring of debugger layout (QTCREATORBUG-21083) * Fixed pretty printing of standard maps and sets from `libc++` (QTCREATORBUG-18536) * GDB * Added support for rvalue references in function arguments * Fixed `Break on Abort` with GDB > 8.1 (QTBUG-73993) * LLDB * Fixed `Source Paths Mappings` functionality (QTCREATORBUG-17468) * QML * Fixed loading QML stack (QTCREATORBUG-22209) Clang Analyzer Tools * Made Clazy configuration options more fine grained (QTCREATORBUG-21120) * Improved Fix-its handling in case of selecting multiple diagnostics and after editing files * Added diagnostics from header files (QTCREATORBUG-21452) * Added sorting to result list (QTCREATORBUG-20660) * Fixed that files were analyzed that are not part of current build configuration (QTCREATORBUG-16016) Perf Profiler * Made Perf profiler integration opensource Qt Quick Designer * Made QML Live Preview integration opensource * Added support for `Dialog` (QTCREATORBUG-22120) * Fixed layout icons (QDS-538) * Fixed crash when creating item inside `TabView` tab (QTCREATORBUG-21542) Version Control Systems * Git * Improved messages when submit editor validation fails and when editor is closed * Added `Subversion` > `DCommit` * `Branches` View * Added `Push` action * Added entry for detached `HEAD` (QTCREATORBUG-21311) * Added tracking of external changes to `HEAD` (QTCREATORBUG-21089) * Subversion * Improved handling of commit errors (QTCREATORBUG-15227) * Perforce * Disabled by default * Fixed issue with setting P4 environment variables (QTCREATORBUG-18771) * Mercurial * Added side-by-side diff viewer (QTCREATORBUG-21124) Test Integration * Added `Uncheck All Filters` * Added grouping results by application (QTCREATORBUG-21740) * QTest * Added support for `BXPASS` and `BXFAIL` * Fixed parsing of `BFAIL` and `BPASS` FakeVim * Added option for blinking cursor (QTCREATORBUG-21613) * Added closing completion popups with `Ctrl+[` (QTCREATORBUG-21886) Model Editor * Added display of base class names Serial Terminal * Improved error message on connection failure Platform Specific Windows * Added support for MSVC 2019 * Changed toolchain detection to use `vswhere` by default, which is recommended by Microsoft * Fixed issue with UNC paths in `.pro` files (QTCREATORBUG-21881) * Fixed language version detections with MSVC and precompiled headers (QTCREATORBUG-21860) * Fixed submenu arrow styling (QTCREATORBUG-21376) Linux macOS * Added support for Touch Bar (QTCREATORBUG-21263) Android * Removed separate `QmakeAndroidSupport` plugin and merged functionality into other plugins * Fixed debugging for API level 22 (QTCREATORBUG-22098) Remote Linux * Removed use of Botan, exchanging it by use of separately installed OpenSSH tools (QTCREATORBUG-15744, QTCREATORBUG-15807, QTCREATORBUG-19306, QTCREATORBUG-20210) * Added support for `ssh-askpass` * Added optional deployment of public key for authentication to device setup wizard * Added support for X11 forwarding * Added `rsync` based deployment method * Added support for `Run in Terminal` * Added support for opening a remote terminal from device settings * Fixed incremental deployment when target directory is changed (QTCREATORBUG-21225) * Fixed issue with killing remote process (QTCREATORBUG-19941) Boot to Qt * Removed ADB-based Boot to Qt plugin that provided support for Boot to Qt versions 5.8, and earlier.
  17. کامبیز اسدزاده

    ببینید شما SDK رو که دانلود می‌کنید بعد از اون باید آنلاین مخازنش رو به‌روز رسانی کنید تا بتونید بدون مشکل برنامه‌ رو کامپایل کنید. این قضیه ربطی به Android Studio یا Qt Creator نداره، کلاً روالش همینه. بلو استک هم یک شبیه‌ساز اندروید هست ربطی به sdk و این مشکلات نداره.
  18. کامبیز اسدزاده

    سلام، شما باید بعد از مسیر‌دهی SDK اقدام به نصب پکیج‌ها به صورت آنلاین کنید. همچنین، برای این کار دقت کنید که باید وی‌-‌پی‌-ان وصل باشه. نکته: دقت کنید که نسخه‌ی NDK r18 رو همراه با SDK 26 داشته باشید.
  19. کامبیز اسدزاده

    امروز با نصب Visual Studio 2019 Final Release متوجه شدم با اینکه تایید کرده بودن این مسئله به صورت کامل حل شده، اما باید بگیم هنوز این مشکل پابرجاست و نتیجش اشاره به ۱۹۹۷۱۱ داره، حتی با تنظیمات بر روی استاندارد ۱۷ و ۱۴ هم همین مشکل موجوده! جالب اینجاست با وجود امکان انتخاب آخرین پیش‌نویسه حتی یکی از ویژگی‌های موجود در نسخهٔ 2a حتی برای آزمایش پشتیبانی نمی‌شه! به هر حال پیشنهاد این هست کامپایلر کلنگ رو بر روی محیط توسعهٔ خود پیکربندی کنید تا با مشکلات این چنینی مواجه نشوید.
  20. کامبیز اسدزاده

    توجه داشته باشید که در چنین مواقعی یک بار qmake رو اجرا کنید، مشکل حل خواهد شد.
  21. با سلام، معمولاً مستنداتی که شرکت مایکروسافت برای زبان‌های برنامه‌نویسی در نظر می‌گیرد بسیار کامل و جامع هستند. در این میان در رابطه با ماکرو‌ها و کامپایلر‌ها سوئیچ‌هایی موجود هستند که اکثراً با آن‌ها سرو کار داشته‌ایم. مایکروسافت اشاره‌ی خوبی به این سوئیچ‌ها دارد که در این بخش به آن اشاره شده است. اما با توجه به کاربرد آن‌ها نوع لیستی که برای معرفی آن‌ها اشاره داشته است شاید برای همگان شفاف نباشد. بنابراین، اخیراً یکی از توسعه‌دهندگان در سایت Code Project اقدام به بازنشر سوئیچ‌های مربوطه همراه با توضیحات به صورت بسیار شفاف در فایل اکسِل آن‌ها را معرفی کرده است که در ادامه آن را می‌توانید دریافت کنید. Predefined_C_and_C++_Macros.XLSX
  22. کامبیز اسدزاده

    محیط توسعه‌ی Xcode 10.2.0 منتشر شد. این نسخه شامل ویژگی‌های جدیدی از جمله پشتیبانی از استاندارد‌های C++17 می‌باشد. از مهمترین تغییرات که بسیار انتظار می‌رفت هدر‌های <experimental/any> و <experimental/optional> منسوخ و به به نفع حمایت از استاندارد سی‌پلاس‌پلاس ۱۷ در قالب <any> و ارائه شده‌اند، بنابراین شما نباید به وجود نسخه‌های آزمایشی در experimental آن‌ها تکیه کنید. جهت مشاهده‌ی ویژگی‌های جدید و تغییرات و همچنین بهبود‌ها به مستند مربوطه مراجعه کنید.
  23. کامبیز اسدزاده

    مایکروسافت سایه‌زنی با نرخ متغیر را به DirectX 12 می‌آورد

    مایکروسافت قصد دارد با اعمال فناوری گرافیکی سایه‌زنی با نرخ متغیر در DirectX 12 ضمن افزایش نرخ فریم همگام با افزایش کیفیت بصری، از الزامات سخت‌افزاری اجرای بازی‌ها بکاهد. مایکروسافت فناوری سایه‌زنی با نرخ متغیر (Variable Rate Shading) را به DirectX 12 وارد کرده است. بدین ترتیب توسعه‌دهندگان با اتکا بر این نوع سایه‌زنی قادر خواهند بود سطح عملکرد در محیط‌های گرافیکی نظیر بازی‌ها را بهبود ببخشند، کیفیت بصری بازی را افزایش داده و منابع مورد نیاز سیستم برای اجرای بازی را کاهش دهند. مایکروسافت از توسعه‌دهنده‌ی بازی‌های ویدئویی Firaxis خواسته است که این نوع سایه‌زنی را در یکی از بازی‌های خود پیاده‌سازی کند تا نشان دهد که کاربرد روش VRS تا چه اندازه ساده و تأثیر آن برعملکرد عناوین مختلف تا چه اندازه چشمگیر خواهد بود. در قسمت سمت چپ تصویر زیر، تأثیر VRS در عمل دیده می‌شود. گرچه دو سمت تصویر یکسان به نظر می‌رسد، بنا به گزارش Firaxis در نقشه‌ی زیر و در چنین سطحی از بزرگنمایی، با اعمال VRS شاهد ۱۴ درصد افزایش در خروجی فریم خواهیم بود. البته باید به سطح عملکرد گزارش شده توسط Firaxis با جانب احتیاط نگریست. ما از شرایط انجام آزمایش بی‌خبریم، قابلیت VRS را هنوز نیازموده‌ایم و حتی ممکن است تصاویر و آمار منتشرشده راهی برای تبلیغ فناوری گرافیکی جدید مایکروسافت باشد. بنابراین قضاوت در مورد میزان تأثیر سایه‌زنی با توان متغیر را باید به زمانی پس از آزمایش عمومی این قابلیت موکول کرد. در هر صورت، فناوری «سایه‌زنی با نرخ متغیر» مایکروسافت در دسترس توسعه‌دهندگان قرار دارد و بسیاری از شرکت‌های صاحب‌نام قصد استفاده از آن را در محصولات بعدی خود دارند. توسعه‌دهندگانی مانند 343 Industries، شرکت Playground Games و Massive Entertainment در کنار ناشرانی مثل Ubisoft و Activision و سازندگان موتورهای بازی نظیر Unity و Epic Games در فهرست شرکت‌هایی قرار دارند که بناست از این قابلیت در عناوین آینده‌ی خود استفاده کنند. طرز کار فناوری VRS همان‌طور که از نام «سایه‌زنی با نرخ متغیر» پیدا است، در این روش به‌جای تمرکز بر رندر شیدرها با رزولوشن و جزییات یکسان (که مفهومی متمایز از رزولوشن کلی است)، توان سایه‌زنی (قدرت پردازشی یا به عبارتی نرخ کلاک هسته‌های سایه‌زن) متغیری را در ترسیم بافت‌های گرافیکی بخش‌های مختلف هر فریم می‌توان به‌کار گرفت. این فناوری با تغییر تعداد پیکسل‌هایی کار می‌کند که در یک عملیات سایه‌زنی پیکسل واحد پردازش‌پذیر هستند. براساس اعلام مایکروسافت، توسعه‌دهندگان می‌توانند به‌صورت گزینشی توان سایه‌زنی را در مناطقی از فریم که تأثیر چندانی بر کیفیت بصری نداشته باشد، کاهش دهند و حداکثر قدرت واحدهای سایه‌زن را معطوف به مناطقی کنند که جزئیات تصویری بالاتری در آن‌ها موردنیاز است. بنابراین توسعه‌دهندگان خواهند توانست در مناطقی که در آن شیدرها اهمیت بیشتری دارند، توان سایه‌زنی را افزایش دهند تا کیفیت تصویر بهتری در خروجی بازی‌های خود دریافت کنند. در پایان سطح عملکرد بالاتر و کیفیت تصویری بهتری را می‌توان به دست آورد؛ درحالیکه منابع سخت‌افزاری مورد نیاز کمتری برای اجرای بهتر بازی‌ها نسبت به قبل لازم خواهد شد.API سایه‌زنی با نرخ متغیر به توسعه‌دهندگان اجازه خواهد داد توان سایه‌زنی را به سه روش تنظیم کنند: روش‌های per-draw، روش within-draw با استفاده از یک تصویر screenspace و روش within-draw به حالت per-primitive. همچنین دو رده‌ی پشتیبانی از VRS وجود دارد. در رده‌ی نخست از VRS در حالت per-draw و در رده‌ی دوم از VRS هم در حالت per-draw و هم در حالت within-draw پشتیبانی می‌شود. همچنین حالت ترکیبی سایه‌زنی با توان متغیر (VRS Combiners) پیش‌بینی شده است که امکان استفاده‌ی همزمان از VRS به روش per-draw و per-permitive را ممکن می‌سازد. براساس ادعای مایکروسافت، قابلیت سایه‌زنی با نرخ متغیر با سخت‌افزارهای موجود شرکت انویدیا برخوردار از معماری تورینگ و نیز سخت‌افزارهایی که در آینده توسط اینتل ارائه خواهد شد، پشتیبانی می‌شود. اینتل هم‌اکنون در حال آزمایش سایه‌زنی با نرخ متغیر روی تراشه‌های اولیه‌ی گرافیکی نسل ۱۱ خود است که برنامه‌ریزی برای عرضه‌ی آن‌ها در سال جاری وجود دارد. احتمالا پردازنده‌های گرافیکی مجزای اینتل (نسخه‌های دسکتاپ آینده) نیز از این فناوری گرافیکی پشتیبانی کند.
  24. نسخه‌ی Qt Creator 4.9 Rc منتشر شد. از مهمترین تغییرات این نسخه می‌توان به پشتیبانی از MSVC 2019 و ECMAScript 7 اشاره کرد. لیست تغییرات و بهبود‌های کلی به صورت زیر آمده است: Qt Creator version 4.9 contains bug fixes and new features. The most important changes are listed in this document. For a complete list of changes, see the Git log for the Qt Creator sources that you can check out from the public Git repository. For example: git clone git://code.qt.io/qt-creator/qt-creator.git git log --cherry-pick --pretty=oneline origin/4.8..v4.9.0 General * Added high-level introduction to Qt Creator's UI for first-time users (QTCREATORBUG-21585) * Added option to run external tools in build or run environment of active project (QTCREATORBUG-18394, QTCREATORBUG-19892) * Improved selection colors in dark themes (QTCREATORBUG-18888) * Added -temporarycleansettings (alias -tcs) command line option Editing * Language Client * Added support for document outline (QTCREATORBUG-21573) * Added support for `Find References to Symbol Under Cursor` (QTCREATORBUG-21577) * Added support for code actions * Highlighter * Replaced custom highlighting file parser with `KSyntaxHighlighting` (QTCREATORBUG-21029) * Made it possible to filter bookmarks by line and text content in Locator (QTCREATORBUG-21771) * Fixed document sort order after rename (QTCREATORBUG-21565) Help * Improved context help in case of code errors or diagnostics (QTCREATORBUG-15959, QTCREATORBUG-21686) * Improved lookup performance for context help All Projects * Added `Expand All` to context menu (QTCREATORBUG-17243) * Added `Close All Files in Project` action (QTCREATORBUG-15593) * Added closing of all files of a project when project is closed (QTCREATORBUG-15721) * Added display of command line parameters to `Application Output` (QTCREATORBUG-20577) * Fixed that dragging file from `Projects` view to desktop moved the file (QTCREATORBUG-14494) QMake Projects * Fixed that adding files did not respect alphabetic sorting and indentation with tabs (QTCREATORBUG-553, QTCREATORBUG-21807) * Fixed updating of `LD_LIBRARY_PATH` environment variable (QTCREATORBUG-21475) * Fixed updating of project tree in case of wildcards in corresponding QMake variable (QTCREATORBUG-21603) * Fixed issues with project tree when files are directly added to `RESOURCES` (QTCREATORBUG-20103) * Fixed that importing build unnecessarily created temporary kit (QTCREATORBUG-18153) CMake Projects * Fixed that default build directory names contained spaces (QTCREATORBUG-18442) * Fixed that build targets were reset on CMake parse error (QTCREATORBUG-21617) * Fixed scroll behavior when adding configuration item Qbs Projects * Fixed crash when switching kits (QTCREATORBUG-21544) Generic Projects * Added deployment via `QtCreatorDeployment.txt` file (QTCREATORBUG-19202) * Added setting C/C++ flags for the code model via `.cflags` and `.cxxflags` files (QTCREATORBUG-19668) * Fixed `Apply Filter` when editing file list (QTCREATORBUG-16237) Compilation Database Projects * Fixed that project tree was not updated when database changes on disk (QTCREATORBUG-21733) C++ Support * Added code snippet for range-based `for` loops * Added option to synchronize `Include Hierarchy` with current document (QTCREATORBUG-12022) * Clang Code Model * Added buttons for copying and ignoring diagnostics to tooltip * Fixed issue with high memory consumption (QTCREATORBUG-19543) * Fixed inconsistency between `Follow Symbol` and `Ctrl + Click` (QTCREATORBUG-21637) * Fixed that global completion was shown after comma (QTCREATORBUG-21624) * Clang Format * Added option to format code instead of only indenting code * Added `Open Used .clang-format Configuration File` to editor's context menu QML Support * Updated to parser from Qt 5.12, adding support for ECMAScript 7 (QTCREATORBUG-20341, QTCREATORBUG-21301) * Improved error handling in Qt Quick Application project template (QTBUG-39469) * Fixed crash on `Find Usages` Python * Added project templates for Qt for Python Nim Support * Added code completion based on `NimSuggest` Debugging * Fixed that debugger toolbar could force large minimum window size (QTCREATORBUG-21885) * Added pretty printing of `QSizePolicy` * Fixed pretty printing of standard maps and sets from `libc++` (QTCREATORBUG-18536) * GDB * Added support for rvalue references in function arguments * LLDB * Fixed `Source Paths Mappings` functionality (QTCREATORBUG-17468) Clang Analyzer Tools * Made Clazy configuration options more fine grained (QTCREATORBUG-21120) * Improved Fix-its handling in case of selecting multiple diagnostics and after editing files * Added diagnostics from header files (QTCREATORBUG-21452) * Added sorting to result list (QTCREATORBUG-20660) * Fixed that files were analyzed that are not part of current build configuration (QTCREATORBUG-16016) Perf Profiler * Made Perf profiler integration opensource Qt Quick Designer * Made QML Live Preview integration opensource * Added support for `Dialog` (QTCREATORBUG-22120) Version Control Systems * Git * Improved messages when submit editor validation fails and when editor is closed * Added `Subversion` > `DCommit` * `Branches` View * Added `Push` action * Added entry for detached `HEAD` (QTCREATORBUG-21311) * Added tracking of external changes to `HEAD` (QTCREATORBUG-21089) * Subversion * Improved handling of commit errors (QTCREATORBUG-15227) * Perforce * Disabled by default * Fixed issue with setting P4 environment variables (QTCREATORBUG-21573) * Mercurial * Added side-by-side diff viewer (QTCREATORBUG-21124) Test Integration * Added `Uncheck All Filters` * Added grouping results by application (QTCREATORBUG-21740) * QTest * Added support for `BXPASS` and `BXFAIL` * Fixed parsing of `BFAIL` and `BPASS` FakeVim * Added option for blinking cursor (QTCREATORBUG-21613) * Added closing completion popups with `Ctrl+[` (QTCREATORBUG-21886) Model Editor * Added display of base class names Serial Terminal * Improved error message on connection failure Platform Specific Windows * Added support for MSVC 2019 * Changed toolchain detection to use `vswhere` by default, which is recommended by Microsoft * Fixed issue with UNC paths in `.pro` files (QTCREATORBUG-21881) * Fixed language version detections with MSVC and precompiled headers (QTCREATORBUG-21860) Linux macOS * Added support for Touch Bar (QTCREATORBUG-21263) Android * Removed separate `QmakeAndroidSupport` plugin and merged functionality into other plugins * Fixed debugging for API level 22 (QTCREATORBUG-22098) Remote Linux * Removed use of Botan, exchanging it by use of separately installed OpenSSH tools (QTCREATORBUG-15744, QTCREATORBUG-15807, QTCREATORBUG-19306, QTCREATORBUG-20210) * Added support for `ssh-askpass` * Added optional deployment of public key for authentication to device setup wizard * Added support for X11 forwarding * Added `rsync` based deployment method * Added support for `Run in Terminal` * Added support for opening a remote terminal from device settings * Fixed incremental deployment when target directory is changed (QTCREATORBUG-21225) * Fixed issue with killing remote process (QTCREATORBUG-19941) جهت دریافت این نسخه کلیک کنید.
  25. کامبیز اسدزاده

    انواع مجوزهای منبع‌باز (Open Source)

    با توجه به اینکه اکثر طراحان و توسعه دهندگان نرم‌افزارها دید روشنی از تفاوت گواهینامه‌های متعدد متن باز ندارند در این مقاله ما به ویژگی‌ها و شرایط هر یک از آن‌ها اشاره کرده‌ایم که به شما یک شفاف سازی سریع در رابطه با اینکه کدام مجوز مناسب محصول شما به صورت منبع‌باز خواهد بود را ارائه می‌کند. قبل از هر چیز در زیر لیستی از انواع مجوز‌های منبع باز را در نظر بگیرید: Apache License 2.0 BSD 3-Clause “New” or “Revised” license BSD 2-Clause “Simplified” or “FreeBSD” license GNU General Public License (GPL) v3.0 GNU Library or “Lesser” General Public License (LGPL) MIT license Mozilla Public License 2.0 Creative Commons License مجوز APACHE LICENSE حقوق موجود در مجوز آپاچی نسخه ۲.۰ را می‌توان برای مقوله کپی‌ رایت‌ یا پتنت استفاده کرد (البته برخی مجوزها را تنها می‌توان روی کپی‌ رایت اعمال کرد و برای پتنت‌ها مورد استفاده قرار نمی‌گیرند). به طور کلی، بخشی از جزئیات مجوز آپاچی به شرح زیر است: حقوق هیچ‌گاه به اتمام نمی‌رسد:‌ وقتی حقوقی تحت مجوز آپاچی ارائه شود، دیگر نیازی به تکرار مجوز برای آن نیست و همیشه می‌توانید تحت همین مجوز از آن‌ها استفاده کنید. نفوذ جهانی: حتی اگر حقوقی در یک کشور عرضه شود، به صورت خودکار در همه کشورها قابل استفاده می‌شود. عرضه رایگان یا دریافت حق امتیاز: بدون هزینه، هزینه بر مبنای استفاده یا هر نوع دیگری اجرایی است. حقوق غیرقابل فسخ است: هیچ‌کس نمی‌تواند ادعا کند که کار مشتق شده شما از سورس‌ کدی که تحت این مجوز عرضه شده را دیگر نمی‌توانید استفاده کنید (عبارتی در این مجوز وجود دارد که بیان می‌کند اگر شما از فردی به خاطر نقض پتنت یا هر چیز دیگری تحت این لایسنس شکایت کنید، مجوز شما باطل می‌شود، اما این قضیه فقط به کارهای پتنت‌ شده اختصاص دارد و تا وقتی که شما از کسی شکایت نکنید، نگرانی خاصی وجود ندارد). نمونه‌ی مجوز Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. مجوز BSD License مجوز BSD بخشی از خانواده مجوزهای نرم‌ افزار آزاد است که در مقایسه با مجوزهای نرم‌ افزاری دیگر، محدودیت‌های کمتری درباره نحوه توزیع دارد که دو نسخه مهم آن عبارت‌ است از: The New BSD License / The New Modified BSD License The Simplified BSD License / FreeBSD License هر دو به‌ عنوان مجوزهای متن باز توسط Open Source Initiative پذیرفته شده‌اند. مجوز New BSD که با نام «مجوز سه شرطی» نیز شناخته می‌شود، اجازه توزیع مجدد نامحدود را برای هر هدفی می‌دهد (البته تا وقتی که کپی‌ رایت‌ و رفع تعهدهای این مجوز برقرار باشند). این مجوز یک شرط جالب نیز دارا است به این شکل که استفاده از نام مشارکت‌ کنندگان برای تأیید کارهای انجام شده در پروژه را بدون اجازه شخصی آن‌ها ممنوع می‌کند. این تبصره در‌ واقع به این معنی است که اگر کسی سورس‌ کد توسعه دهنده شناخته‌ شده‌ای را fork کرده باشد و تغییراتی را برای ساخت پروژه جدید در آن انجام داده باشد، نمی‌تواند از نام آن فرد مطرح برای تأیید و اعتبار بخشی به پروژه خود استفاده کند (در حقیقت، تفاوت اصلی میان نسخه جدید و نسخه ساده مجوز BSD در استفاده از این شرط است). نمونه‌ی مجوز Copyright <YEAR> <COPYRIGHT HOLDER> Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. مجوز GNU با وجود این مجوز محدودیت خاصی برای کپی کردن کدها در پروژه‌هایی که لایسنس GPL دارند وجود نداشته و می‌توانید کدهای دارای این مجوز را به‌ سادگی کپی کنید. همچنین، می‌توانید آن را روی فلش یا هارد خود توزیع کنید یا کدها را در وب‌ سایت خود با لینک دانلود و به همراه همین لایسنس منتشر کرده یا روی کاغذ پرینت کنید. در‌ واقع، به هر شکلی که بخواهید می‌توانید پروژه‌های دارای لایسنس GPL را توزیع کنید. می‌توانید با این مجوز از مخاطب در قبال ارائه نرم‌ افزار به او هزینه دریافت کنید ولی به خاطر داشته باشید که باید یک کپی از GNU GPL را نیز ارائه کنید که به آن‌ها می‌گوید می‌توانند نرم‌ افزار را از جای دیگر بدون هزینه دریافت کنند (در کنار این کار، همچنین می‌توانید دلیلی که به خاطر آن از مخاطب هزینه دریافت می‌کنید را نیز بیان کنید) اگر بخواهید تغییراتی در پروژه ایجاد کنید (اصطلاحاً آن را Fork کنید)، این امکان برای شما وجو دارد؛ به عبارت دیگر، ویژگی‌هایی که می‌خواهید را حذف و اضافه کنید اما تنها به‌ شرطی که شما هم پروژه‌ٔ خود را تحت مجوز GNU GPL ارائه کنید (همچنین این نکته اهمیت دارد که باید تفاوت بین سورس‌ کد پروژه و توزیع باینری آن را بدانید؛ به این دلیل که محدودیت‌هایی در رابطه با هر کدام وجود دارد. همچنین، اگر پروژه‌ای از GNU GPL استفاده می‌کند، باید با برخی قوانین استاندارد دربارهٔ کامنت‌ گذاری بخش‌های مختلف این مجوز درون سورس‌ کد نیز مطابقت داشته باشد. مجوز GNU LESSER GENERAL PUBLIC LICENSE این لایسنس حقوق کمتری را برای استفاده در مقایسه با GNU GPL نیاز دارد و معمولاً در لایبرری‌ها و پروژه‌هایی استفاده می‌شود که قصد دارند اجازهٔ لینک شدن آن‌ها را به نرم‌ افزارهای بدون مجوز GPL و با سورس‌ کد بسته نیز بدهند. در مورد مجوز GPL، هر پروژه و سورس‌ کدی که در پروژه‌ی تحت GPL عرضه می‌شود، خود نیز باید GPL باشد و کدهای تحت GPL نمی‌تواند در پروژه‌های اختصاصی مورد استفاده قرار بگیرند. LGPL این مورد را نادیده گرفته و نیاز به مجوز مشابه را برای استفاده از کدهای دارای LGPL از بین می‌برد (به عبارت دیگر، نسبت به GPL آزادی بیشتری در اختیار توسعه دهندگان قرار می‌دهد). نمونه‌ی مجوز <one line to give the program's name and a brief idea of what it does.> Copyright (C) <year> <name of author> This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. مجوز MIT LICENSE این مجوز، کوتاه‌ترین و احتمالاً پراستفاده‌ترین مورد بین تمامی لایسنس‌های متن باز است زیرا شرایط آن آسان است و به‌ اصطلاح از مجوزهای دیگر راحت‌تر عمل می‌کند. اگر بخواهیم ماهیت اصلی این لایسنس را شرح دهیم، بایستی بگوییم که به وسیله این مجوز، اجازه استفاده بدون هزینه به هر شخصی که یک کپی از سورس‌ کد یا نرم‌ افزار و مستندات مربوط به آن را دریافت کرده، داده می‌شود تا در آن نرم‌ افزار بدون هیچ‌گونه محدودیتی تغییرات خود را اِعمال کند که شامل استفاده بدون محدودیت، کپی، تغییر، ترکیب، انتشار، توزیع، استفاده بخشی از مجوز یا فروش کپی‌هایی از نرم‌افزار می‌شود و به افرادی که این نرم‌ افزار برای آن‌ها تهیه شده نیز در این موارد اجازه داده می‌شود به شرطی که ملاحظاتی که در بالا به آن‌ها اشاره شد و همچنین معرفی این لایسنس را در تمامی کپی‌ها یا بخش‌های مهم این نرم‌ افزار در معرض دید کاربران قرار دهند. با این مجوز در واقع اجازه استفاده، کپی و تغییر در نرم‌ افزار را هر طوری که تمایل دارید خواهید داشت؛ هیچ کسی نمی‌تواند شما را از بکارگیری آن در پروژه‌های دیگر منع کند و می‌توانید نرم‌ افزار را تحت این مجوز به صورت رایگان یا از طریق فروش آن عرضه کنید. هیچ شرطی برای این توزیع به هیچ طریقی وجود نخواهد داشت و هر کسی می‌تواند هر تغییری را که می‌خواهد در کدهای تحت لیسانس MIT انجام دهد (البته مادامی که مجددا تحت این مجوز عرضه شوند). نمونه‌ی مجوز The MIT License (MIT) Copyright (c) <year> <copyright holders> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. مجوز Mozilla Public License مجوز همگانی موزیلا (Mozilla Public License) یک مجوز نرم‌ افزار آزاد مفصل است که توسط بنیاد موزیلا نوشته و نگهداری می‌شود. از این مجوز به عنوان مجوزی که هم ویژگی‌های مجوز تغییر یافته BSD و هم ویژگی‌های مجوز GPL را دارد، یاد می‌شود که سعی دارد مشکلات و نگرانی‌های توسعه‌ دهندگان نرم‌ افزار آزاد و نرم‌افزار انحصاری را تعادل بخشد. این مجوز دو بار مورد بازبینی قرار گرفته‌ است و در نسخه آخر آن یعنی نسخه ۲.۰، سعی شده تا سادگی مجوز حفظ شود و سازگاری بهتری با دیگر مجوزها داشته باشد. این مجوز که به اختصار به MPL هم گفته می‌شود، مجوزی است که در موزیلا فایرفاکس، موزیلا تاندربرد و بقیه نرم‌ افزارهای بنیاد موزیلا مورد استفاده قرار می‌گیرد اما اخیراً دیگران هم به استفاده از این مجوز روی آورده‌اند، همانند شرکت Adobe که از این مجوز برای نرم‌ افزار ادوبی فلکس استفاده کرده و همچنین لیبره‌آفیس که از این مجوز به همراه LGPL (نسخه ۳) استفاده می‌کند. شرکت‌هایی مانند سان مایکروسیستمز هم از نسخه ۱.۱ این مجوز برای نوشتن یک مجوز ترکیبی مثل مجوز توسعه و توزیع مشترک استفاده کرده‌اند. نمونه‌ی مجوز /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at https://mozilla.org/MPL/2.0/. <!-- This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at https://mozilla.org/MPL/2.0/. --> This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/. مجوز CREATIVE COMMONS مجوز Creative Commons که به اختصار CC گفته‌ می‌شود، خیلی هم اپن‌ سورس نبوده و به صورت معمول در پروژه‌های مربوط به طراحی استفاده می‌شود. انواع مختلفی از این نوع لایسنس وجود دارد که هر کدام برای موارد خاصی ایجاد شده که حق و حقوق معینی را اعطا می‌کنند، به طوری که یک مجوز CC دارای چهار بخش اساسی است که عبارت است از: اعتباربخشی: نویسنده (مؤسس) باید به عنوان خالق اثر نام برده شود؛ سپس می‌توان آن را تغییر داد، توزیع کرد، کپی نمود و به صورت دیگری استفاده کرد. انتشار تحت مجوز کریتیو کامانز: می‌توان اثر را تغییر داد و توزیع کرد ولی تنها تحت مجوز CC. غیرتجاری: یک اثر تحت این مجوز می‌تواند تغییر داده شود یا توزیع شود ولی نه برای اهداف تجاری (البته عبارت Commercial به‌ معنی «تجاری» کمی مبهم است و هیچ تعریف مشخصی از آن ارائه نشده است) ممنوعیت اعمال تغییرات: می‌توان اثر دارای چنین مجوزی را کپی کرده یا توزیع کرد، اما نمی‌توانید آن را به هیچ صورت تغییر دهید یا اثری را براساس طرح اصلی ایجاد کنید. به خاطر داشته باشید که این‌ها قوانین الزامی موجود در همه مجوزهای مبتنی بر CC نیستند؛ برخی از مجوزهای CC ممکن است این شرط‌ها را نداشته باشند، چرا که برخی از این شرط‌ها دو به دو ناسازگار هستند و برخی می‌توانند براساس نیاز با هم ترکیب شوند. نمونه‌ی مجوز <WORK'S NAME> (c) by <AUTHOR'S NAME> <WORK'S NAME> is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License. You should have received a copy of the license along with this work. If not, see <http://creativecommons.org/licenses/by-sa/3.0/>.
×
×
  • جدید...