بۇ يازمىدا Visual studio code + C++ + Qt لارنى بىرىكتۈرۈپ ئىشلىتىمىز،
سۇپا ھالقىغان ئوچۇق كودلۇق يۇمشاق دېتال ئېچىش رامكىسى بولۇش سۈپىتى بىلەن Qt نىڭ قولىدىن چىققان يۇمشاق دېتاللار ھەقىقەتەن ئاز ئەمەس، مەسىلەن Autodesk MAYA, Autodesk 3DsMax, WPS, VirtualBox, Google earth قاتارلىقلار،
Windows Win32 api, Gtk+, wxWidgets, FLTK... لارنىڭ قۇردىشى بولۇش سۈپىتى بىلەن Api لىرى بىردەك بولۇش، ئىكىلوگىيەسى كۈچلۈك بولۇش، پروگراممىرغا دوستانە بولۇش قاتارلىق ئەۋزەللىكلىرى سەۋەبلىك بۇنى ئىشلىتىشنى ياقتۇرىمەن،
Qt creator بىلەن qmake ئىشلىتىپ كۆرۈنمە يۈزلۈك ھالەتتە Project قۇرۇش ئۇ قىيىن ئىش ئەمەس، ئەمما qmake پەقەت Qt غىلا خاس نەرسە بولغاچقا باشقا Build system لار بىلەن سىغىشىشى ياخشى ئەمەس، ھەمدە ئۇ شەخسىيەتچى تېخنىكا، ئاخىرىدا Qt ئىگە تەرەپمۇ qmake كە بولغان قوللاشنى ئاجىزلاشتۇرۇپ cmake كە يۆتكەلدى،
نۆۋەتتە تورلاردىنمۇ CMake بىلەن Qt ئېچىش مۇھىتى ھازىرلاشقا ئالاقىدار ئاددىي يازمىلار كۆپ ئەمەس، كۆپ بولغانلىرى بۇ يەردە ئېچىلمايدۇ، شۇڭا ئۆزۈم بۇ يازمىنى يېزىپ چىقتىم،
بۇ باسقۇچلار ھەممىسى Linux ئۈستىدە تاماملىنىدۇ، Windows بىلەن macOS نىڭمۇ بۇنىڭدىن بەك كۆپ پەرىقلىنىپ كەتمەيدۇ، پەقەت Compiler غا Windows مۇھىتىدا MSVC ئىشلىتىمىز، macOS مۇھىتىدا terminal بىلەن apple clang نىڭ مۇھىتى قاتارلىقلارنى قاچىلايمىز، ئەمما ئەسلى كود پەرىق قىلمايدۇ،
ئومومى قەدەم باسقۇچلار تۆۋەندىكىدەك:
- Qt6 نى چۈشۈرۈش، qt-online-installer بىلەن ئۆزىڭىز لازىملىق نەشىرىنى تاللاپ قاچىلىسڭىز بولىدۇ،
- CMake, Ninja (ياكى GNU make), Gcc (ياكى CLang) لارنى قاچىلاش، Vs code ھەمدە VS code c++ development extension نى قاچىلاش
- Project ئۈچۈن يېڭىدىن بىر مۇندەرىجە قۇرۇش ھەمدە ئىچىگە CMakeLists.txt نى قۇرۇش، مۇناسىۋەتلىك C++ كودلىرىنى يېزىش
- mkdir ninja_build && cd ninja_build && cmake ../ -G Ninja && ninja مۇنۇ بۇيرۇقلار بىلەن Ninja نىڭ ھۆججەتلىرىنى CMake دىن ھاسىللىتىپ ئاندىن Ninja بىلەن ئەسلى كودنى Compile قىلىش
- پروگراممىڭىزنى ئىجرا قىلىش،
- ئەگەر Debug قىلىش ئىھتىياجىڭىز بولسا LLDB قاچىلاڭ ھەمدە vs code غا مۇناسىۋەتلىك قىستۇرمىلارنى قاچىلاپ تەڭشەكلەرنى تەڭشەڭ
CMakeLists.txt
cmake_minimum_required(VERSION 3.20) #ئەڭ تۆەن CMake تەلىۋى
project(AsyncFileSystemIO) #Project ئىسمى
set( #ئەسلى كودلىرىمىزنىڭ ئادېرسىنى ئۆزگەرگۈچى مىقدارغا ئېلىۋېلىش
MY_SOURCE_FILES
./src/main.cpp
./src/main_window.cpp
)
#region of Qt specific
set(CMAKE_PREFIX_PATH "/opt/Qt/6.4.0/gcc_64/") #Qt قاچىلىغان مۇندەرىجىڭىز
set(CMAKE_AUTOMOC ON) #Qt metadata compiler ئىقتىدارىنى ئىشلىتىش
set(CMAKE_AUTOUIC ON) #Qt UI compiler ئىقتىدارىنى ئىشلىتىش، يەنى كىڭەيتىلگەن نامى .ui بولغان ھۆججەتنى compile قىلىش.
set(CMAKE_AUTORCC ON) #Qt resource compiler نى ئىشلىتىش
find_package(Qt6 REQUIRED COMPONENTS Widgets REQUIRED Quick REQUIRED) #Qt نى ئىزدەش ھەمدە مۇناسىۋەتلىك Component لارنى تەلەپ قىلىش
#endregion of qt specific
add_executable(HelloQt "${MY_SOURCE_FILES}") #ئىجرا ھۆججىتى قۇرۇش
target_link_libraries(HelloQt PRIVATE Qt::Widgets Qt::Quick) #ئىجرا ھۆججىتىگە Qt نىڭ مۇناسىۋەتلىك Shared library لىرىنى قوشۇش
مۇھىتىمىزنى سىنايدىغان ئەسلى كود:
Compile قىلىش:
ئىجرا نەتىجىسى:
Github دىكى ھۆججەت ئادېرسى: https://dev.subat.cn/Ug-Projekt/cmake_qt_basic_example
--- شىنجاڭ ئالماس يۇمشاق دېتال چەكلىك شىركىتى https://almas.biz https://mulazim.com