আমি কীভাবে Qt এর কোন সংস্করণ Qmake এর জন্য ব্যবহৃত হয় তা পরিবর্তন করব?


31

আমার মনে হচ্ছে এটি করার একটি সহজ উপায় থাকা উচিত তবে আমার গুগলফু ব্যর্থ হচ্ছে তাই কিউমেক করার সময় কিউটি এর কোন সংস্করণ ব্যবহৃত হবে তা কীভাবে স্যুইচ করতে হবে (বা এমনকি স্থায়ীভাবে পরিবর্তন করতে হবে) তার কিছু তথ্যকে আমি সত্যিই উপলব্ধি করব আমি যদি নিম্নলিখিত সংস্করণটি পাই তা জিজ্ঞাসা করি:

~ $ qmake --version
QMake version 3.0
Using Qt version 5.0.1 in /usr/lib/x86_64-linux-gnu

আমি কিউটিক্রিটর ইনস্টল করেছি, তবে এখান থেকে কোথায় যাব তা নিশ্চিত নই।

উত্তর:


16

এটি অগত্যা ইউনিক্স / লিনাক্স নির্দিষ্ট নয়, তাই আপনি স্ট্যাক ওভারফ্লোতে এটি আরও ভাল জিজ্ঞাসা করছেন। কখনই কম নয়, QtCretor সাধারণত বিকল্প Qt ইনস্টল সনাক্ত করতে বেশ ভাল, কেবল একটি নতুন প্রকল্প তৈরি Projectsকরুন এবং বাম দিকে ট্যাবের নীচে দেখুন । আপনি সেখানে বিভিন্ন বিল্ড কনফিগারেশন সেট করতে পারেন। প্রতিটি কনফিগারেশনের জন্য ইনস্টল করা বিভিন্ন সংস্করণ থেকে নির্বাচন করার জন্য একটি ড্রপ ডাউন বক্স থাকা উচিত।

অন্যথায়, মনে হয় QTDIRপরিবেশগত পরিবর্তনশীল Qt সংস্করণ সেট করতে ব্যবহৃত হয়। ডিফল্টরূপে QtCreator /usr/share/qt4এটি আমার জন্য সেট করে , সুতরাং এটি সমতুল্য পথে নির্ধারণ করা (যেমন একটি যেখানে কনফিগারেশন ফাইল রয়েছে) আলাদা আলাদা সংস্করণ দিয়ে qmake বিল্ড করা উচিত। আপনি যেমন কিছু দিয়ে পরীক্ষা করতে পারেন:

QTDIR=/usr/share/qtX qmake --version

এটি .proফাইলে সেট করাও সম্ভব হতে পারে তবে এটি যদি শর্তহীন হয় (বেশ কয়েকটি qmakeভেরিয়েবলের সাথে)।

এছাড়াও, আপনি যদি কোনও নির্দিষ্ট প্রধান সংস্করণ দিয়ে তৈরি করতে চান qmakeতবে সাধারণত ডিফল্ট প্রধান সংস্করণের জন্য বাইনারিতে সিমলিংক করা হয়। বাস্তব বাইনেরিতে হয় qmake-qt4, qmake-qt5ইত্যাদি আরো দেখুন man qtchooserএবং qtX-defaultডেবিয়ান ভিত্তিক সিস্টেমে প্যাকেজ।

হালনাগাদ

qtchooserউবুন্টু ১৩.০৪ এবং ১৩.১০ তে একটি বাগ রয়েছে যা Qt অ্যাপ্লিকেশনগুলি বিভিন্ন Qt সংস্করণ সনাক্ত করার পদ্ধতিটিকে প্রভাবিত করে বলে মনে হচ্ছে, https://bugs.launchpad.net/ubuntu/+source/qt4-x11/+bug/1177823 দেখুন । এটি কিউটিক্রিটারকেও প্রভাবিত করতে পারে।


ধন্যবাদ! টাক ক্বমেকের পরিবর্তে আমার qmake-qt4 ব্যবহার করা দরকার - এত সহজ, তবে আমি কেবল আমার প্রয়োজনীয় তথ্যটি পাইনি। ধন্যবাদ!
তামসিন মাইকেল

@ ট্যামসিনমিশেল - হ্যাঁ, লিনাক্সের সাইডে ক্যমাকে বিনে একটি সিমলিংক। সুতরাং, যদি আপনি পিছনে পিছনে স্যুইচ করতে আপডেট-বিকল্পগুলির মতো কিছু ব্যবহার করেন তবে এটি আদর্শ হতে পারে। এটি আপডেট-বিকল্পগুলিতে নেই এবং পাইকিউটি বিল্ড স্ক্রিপ্টগুলির মতো জিনিসগুলি যাইহোক বাইনারিটির সরাসরি রেফারেন্স চায় - কোনও সিমলিংক নয়।
রোবটহমানস 27'15

13

এটি আমাকে -qt=qt5সুইচ বা QT_SELECT=qt5পরিবেশের পরিবর্তনশীল ব্যবহার করতে সহায়তা করেছিল ।

$ qmake --version
QMake version 2.01a
Using Qt version 4.8.7 in /usr/lib/x86_64-linux-gnu

$ qmake -qt=qt5 --version
QMake version 3.0
Using Qt version 5.5.1 in /usr/lib/x86_64-linux-gnu

$ QT_SELECT=qt5 qmake --version
QMake version 3.0
Using Qt version 5.5.1 in /usr/lib/x86_64-linux-gnu

গৌণ ও প্যাচ সংস্করণগুলি সম্পর্কে কী? উদাহরণস্বরূপ, কীভাবে আমরা 5.12 এর উপরে 5.9.4 বা 5.11 বেছে নিতে পারি?
ডেভিডজে

4

আরও ভাল পদ্ধতি আছে

আপনি যদি নিজের পরিবর্তনগুলি স্থায়ী করতে চান তবে আপনাকে /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.confফাইলটি সংশোধন করতে হবে যা এটির একটি সিলেট লিঙ্ক ../../../../share/qtchooser/qt4-x86_64-linux-gnu.conf

আমার সিস্টেমের জন্য এখানে উদাহরণ (উবুন্টু 17.10 x64, Qt 5.10.1)। আমি আসল সিমলিংক ফাইল এবং তার লক্ষ্য উভয়ই রাখার পরামর্শ দেব (যদি আপনি মূল কনফিগারেশনটি পুনরুদ্ধার করতে চান)। এবং ডিফল্ট লোকেশনগুলিতেও নতুন ফাইল তৈরি করুন (ধারাবাহিকতার জন্য)। সুতরাং পদক্ষেপ এখানে:

সিমলিংক ফাইলটির নতুন নাম দিন:

sudo mv /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf_orig

একটি নতুন টার্গেট কনফিগারেশন ফাইল তৈরি করুন (যে কোনও নাম সহ):

gksudo gedit /usr/share/qtchooser/my_Qt_5.10.1_Desktop_gcc_x64.conf

এই ফাইলটিতে অবশ্যই দুটি লাইন থাকতে হবে: প্রথম লাইনটি Qt বাইনারিগুলির পথ (qmake সহ) এবং দ্বিতীয়টি Qt লাইব্রেরির (.so ফাইলগুলি সহ) যাওয়ার পথ। আমার ক্ষেত্রে এটি হয়

<Qt_dir>/5.10.1/gcc_64/bin
<Qt_dir>/5.10.1/gcc_64/lib

এটি সংরক্ষণ করুন এবং এটি বন্ধ করুন। default.confনতুন কনফিগারেশন ফাইলটিতে একটি সিমিলিংক তৈরি করুন:

ln -s /usr/share/qtchooser/my_Qt_5.10.1_Destop_gcc_x64.conf /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf

আপনার কিউটি সংস্করণটি পরীক্ষা করুন:

qmake --version

এখন এটি সর্বদা নির্দিষ্ট সংস্করণ ব্যবহার করা উচিত।


2

ডেবিয়ান জেসি স্ট্যাবলের মতো কিছু ডিস্ট্রোসের নীচে আপনি নিম্নলিখিতটি করতে পারেন:

sudo apt-get install -y qt4-qmake qt4-dev-tools
sudo update-alternatives --install "/usr/bin/qmake" "qmake" "/usr/bin/qmake-qt4" 40
sudo update-alternatives --config qmake

এবং আপনার প্রয়োজনীয় সংস্করণটি নির্বাচন করুন যদি আপনার আবার পরিবর্তন প্রয়োজন হয় তবে তৃতীয় লাইনে আবার চালান।


2

উপরের উত্তরগুলি অনেকগুলি কাজ করবে। তবে আমি ব্যক্তিগতভাবে দেখেছি যে এগুলির কোনওটিই অবিচল নয়। যেমন আমি এই আদেশটি চালাতে পারি:

$ QT_SELECT=qt5 qmake --version
QMake version 3.0
Using Qt version 5.2.1 in /usr/lib/x86_64-linux-gnu

তবে যদি আমি একটি নতুন টার্মিনাল খুলি এবং কিউটি সংস্করণটি পরীক্ষা করি তবে এটি ডিফল্টতে ফিরে আসবে এবং আপনার যদি Qt এর একাধিক সংস্করণ ইনস্টল করা থাকে তবে ডিফল্টটি আপনি চান নাও হতে পারে। আপনি এই আদেশটি চালিয়ে বলতে পারেন:

$ qtchooser -print-env
QT_SELECT="default"
QTTOOLDIR=...
QTLIBDIR=...

আপনার পরিবর্তনগুলি স্টিক করার একমাত্র উপায় হ'ল ডিফল্ট সংস্করণ পরিবর্তন করা। এটি করার জন্য, /usr/lib/x86_64-linux-gnu/qtchooser/default.confএই লাইনটি সম্পাদনা করুন এবং পরিবর্তন করুন:

/usr/lib/x86_64-linux-gnu/qt5/bin

যেখানে আপনি qt5যা চান সংস্করণে পরিবর্তন করুন । qtchooser -list-versionsআপনার মেশিনে কোন সংস্করণ ইনস্টল করা আছে তা দেখতে আপনি কমান্ডটি ব্যবহার করতে পারেন ।


2

qmake( /usr/bin/qmake) প্রকৃতপক্ষে মাত্র একটি সিমবলিক লিঙ্ক হয় qtchooser( /usr/bin/qtchooser)।

এখানে থেকে একটি উদ্ধৃতি দেওয়া man qtchooser:

FILES
       /etc/xdg/qtchooser/default.conf
              System-wide  configuration  files. Each has two lines, the first
              is the path to the binaries and the second is the path to the Qt
              libraries.  If  a default.conf is provided, the settings from it
              will be automatically used in case nothing else is selected.

       $HOME/.config/qtchooser/*.conf
              User configuration files.

ফাইলটির /etc/xdg/qtchooser/default.confচেয়ে বেশি অগ্রাধিকার রয়েছে /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.confqmakeআমার সিস্টেমের উদাহরণস্বরূপ ডিফল্ট কিউটি সংস্করণটি কীভাবে চয়ন করবেন তার পদক্ষেপগুলি এখানে রয়েছে (উবুন্টু 17.10 x64, কিউটি 5.10.1)।

/etc/xdg/qtchooserডিরেক্টরি তৈরি করুন :

sudo mkdir /etc/xdg/qtchooser

কনফিগারেশন ফাইলটি তৈরি এবং সম্পাদনা করুন:

gksudo gedit /etc/xdg/qtchooser/default.conf

যেমন উপরে বলা হয়েছে। এই ফাইলটিতে অবশ্যই দুটি লাইন থাকা উচিত: প্রথম লাইনটি Qt বাইনারিগুলির পথ (qmake সহ) এবং দ্বিতীয়টি Qt লাইব্রেরি (.so ফাইলগুলি সহ) যাওয়ার পথ। আমার ক্ষেত্রে এটি হবে:

<Qt_dir>/5.10.1/gcc_64/bin
<Qt_dir>/5.10.1/gcc_64/lib

এটি সংরক্ষণ করুন এবং বন্ধ করুন। এখন qmakeনির্দিষ্ট Qt সংস্করণ ব্যবহার করা উচিত।


একটি সিমিলিংকও কাজ করে: sudo mkdir -p / etc / xdg / qtchooser && sudo ln -s /usr/share/qtchooser/qt5-x86_64-linux-gnu.conf /etc/xdg/qtchooser/default.conf
maharvey67

1
sudo apt-get install qt5-default

আপনি যদি চান qt5, qt4ব্যবহারের জন্য :

sudo apt-get install qt4-default

+1, দুর্দান্ত এবং সাধারণ, খুব খারাপ এই উত্তরটি পৃষ্ঠায় এত কম ছিল
জেপিএ

0

ফেডোরা ২৩ এ (আমার) ডিফল্ট সেটআপে qt-3.3.8এবং উভয় qt-4.8.5পরিবেশ /usr/libxx/qt4/bin/থাকাকালীন / প্যাকেজগুলি সঠিক সংস্করণটি সন্ধান করার PATHজন্য অস্থায়ীভাবে ডিরেক্টরিটি যুক্ত করা দরকার ছিল । কোডটি তৈরি করার সময় এটি প্রয়োজনীয় ছিল, সমাপ্ত QT4 অ্যাপটি চালানোর সময় নয়।cmakeqmake

কিছু কারণে QT3 পাথ ইতিমধ্যে স্থায়ীভাবে এবং দুর্ভাগ্যক্রমে শুরুতে ইনস্টল করা হয়েছিল PATH, যা QT সংস্করণ নির্বাচককে সঠিকভাবে কাজ করতে বাধা দেয়।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.