Qt 5 рдХреЗ рд╕рд╛рде CMake рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

рдЫрд╡рд┐

CMake рдПрдХ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо рд╣реИ (рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ, рдЕрд╕реЗрдВрдмрд▓реА рдХрдВрдЯреНрд░реЛрд▓ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдкреАрдврд╝реА) рдЬреЛ рдХрд┐ рдХреНрдпреВрдЯреА рдХреЗ рд╕рд╛рде рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдмрдбрд╝реА рдпрд╛ рдЬрдЯрд┐рд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдБ рдмрдирд╛рддреЗ рд╕рдордп, qake рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП CMake рдЪреБрдирдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ред рдХреЗрдбреАрдИ рдХрднреА рд╕реАрдПрдордХреЗ рдХреА рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдореЛрдбрд╝ рдерд╛, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдХреНрдпреВрдЯреА 4 рдиреЗ рдЕрдкрдирд╛ "рдпреЛрдЧрджрд╛рди" рджрд┐рдпрд╛ред рдХреНрдпреВрдЯреА 5 рдореЗрдВ, рд╕реАрдПрдордХреЗ рд╕рдорд░реНрдерди рдореЗрдВ рдХрд╛рдлреА рд╕реБрдзрд╛рд░ рд╣реБрдЖ рдерд╛ред

Qt 5 рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЦреЛрдЬреЗрдВ рдФрд░ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ


Qt 5 рдореЗрдВ CMake рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдореБрдЦреНрдп рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ, Qt рдореЗрдВ рдмрдврд╝реА рд╣реБрдИ рдкреНрд░рддрд┐рд░реВрдкрддрд╛ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИред

Qt 4 рдореЗрдВ, рдЦреЛрдЬ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдереА:
find_package (Qt4 COMPONENTS QTCORE QTGUI)

Qt 5 рдореЗрдВ, рдЖрдк рдЙрди рд╕рднреА рдореЙрдбреНрдпреВрд▓ рдХреЛ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ:
find_package (Qt5Widgets)
find_package (Qt5Declarative)
рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдПрдХ рдХрдорд╛рдВрдб рдореЗрдВ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдореЙрдбреНрдпреВрд▓ рдЦреЛрдЬрдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдм, рдХреНрдпреВрдЯреА 5 рдореЗрдВ, рдЗрд╕ рддрд░рд╣ рдХреА рдЦреЛрдЬ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧреА:
find_package(Qt5 COMPONENTS Widgets Declarative)

Qt 5 рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВ


find_package рдкреВрд░рд╛ find_package рдмрд╛рдж, Qt 4 рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ ${QT_INCLUDES} рдХрд░рддреЗ рд╕рдордп рдЕрддрд┐рд░рд┐рдХреНрдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ${QT_LIBRARIES} рдпрд╛ ${QT_GUI_LIBRARIES} рдпрд╛ ${QT_GUI_LIBRARIES} рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рджрд┐рдпрд╛ рдЧрдпрд╛ред
"рдЕрд░реНрдз-рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ" рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЖрд╡рд╢реНрдпрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ${QT_USE_FILE} рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдерд╛ред
Qt 5 рдореЙрдбреНрдпреВрд▓рд░ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд╕рд╛рде, рдЪрд░ рдЕрдм рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреЗ: ${Qt5Widgets_INCLUDE_DIRS}, ${Qt5Widgets_LIBRARIES}, ${Qt5Declarative_INCLUDE_DIRS}, ${Qt5Declarative_LIBRARIES}

Qt 4 рд╕реЗ Qt 5. рдореЗрдВ рдХрд┐рд╕реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдкреЛрд░реНрдЯ рдХрд░рддреЗ рд╕рдордп рдпрд╣ рдЕрд╕рдВрдЧрддрд┐ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ рд╕рдм рдЖрд╕рд╛рдиреА рд╕реЗ рддрдп рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
Qt 5 рдореЗрдВ рдмрд┐рд▓реНрдбрд┐рдВрдЧ Qt 4 рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИред рдорддрднреЗрджреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдпрд╣ рд╣реИ рдХрд┐ Qt 5 рдореЗрдВ, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ -reduce-relocations рд╡рд┐рдХрд▓реНрдк рдЕрдм рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рдХреНрд╖рдо рд╣реИред рдЗрд╕ рдХрд╛рд░рдг рд╕реЗ, -Bsymbolic-functions рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рди рд╢реБрд░реВ рд╣реБрдЖ, рдЬреЛ -Bsymbolic-functions рддреБрд▓рдирд╛ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЕрдкреНрд░рднрд╛рд╡реА рдмрдирд╛рддрд╛ рд╣реИ рдпрджрд┐ рд╕реНрдерд┐рддрд┐-рд╕реНрд╡рддрдВрддреНрд░ рдХреЛрдб рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрдмреНрд░реЗрд░реА -fPIC рд╕рдордп рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдореЙрдбреНрдпреВрд▓ рдпрд╛ -fPIC рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╕рдордп -fPIE рдзреНрд╡рдЬ рдирд╣реАрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ред

рдмреЗрд╢рдХ, рдЖрдк Qt рдХреЛ -no-reduce-relocations рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдмрдЪ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕реНрдерд┐рддрд┐-рд╕реНрд╡рддрдВрддреНрд░ рдХреЛрдб рдХреЗ рд▓рд┐рдП рд╕рдВрдХрд▓рдХ рдореЗрдВ рдЭрдВрдбреЗ рдЬреЛрдбрд╝рддреЗ рд╕рдордп рдирдИ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реЛрдВрдЧреА, рдЬреЛ рд╕реАрдПрдордХреЗ рд╕реЗ рдмрдЪрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Widgets_EXECUTABLE_COMPILE_FLAGS}")
рдпрд╣ Qt 5 рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдкреНрд░рддреНрдпреЗрдХ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдЪрд░ рд╣реИ, рдЬреЛ рдпрд╛ рддреЛ -fPIE рдпрд╛ рдПрдХ рд░рд┐рдХреНрдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╣реЛрдЧрд╛, рдпрд╣ рдЗрд╕ рдмрд╛рдд рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ Qt рдХреИрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, -fPIE рдзреНрд╡рдЬ рдХреЗрд╡рд▓ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рд▓рд┐рдП рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╕рдордп -fPIC рдХреА рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрдерд╛рдкрдирд╛, рд╡рд┐рдлрд▓рддрд╛рдУрдВ рдХрд╛ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдкрд╣рд▓реЗ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
set(CMAKE_CXX_FLAGS "-fPIC")

CMake рдореЗрдВ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдпреБрдЧреНрдорд┐рдд, рдЬреИрд╕реЗ рдХрд┐ moc рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХреЙрд▓, Qt 5 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╕рд╛рдзрд╛рд░рдг CMake рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛:
CMakeLists
 cmake_minimum_required(2.8.7) project(hello-world) # Tell CMake to run moc when necessary: set(CMAKE_AUTOMOC ON) # As moc files are generated in the binary dir, tell CMake # to always look for includes there: set(CMAKE_INCLUDE_CURRENT_DIR ON) # Widgets finds its own dependencies (QtGui and QtCore). find_package(Qt5Widgets REQUIRED) # The Qt5Widgets_INCLUDES also includes the include directories for # dependencies QtCore and QtGui include_directories(${Qt5Widgets_INCLUDES}) # We need add -DQT_WIDGETS_LIB when using QtWidgets in Qt 5. add_definitions(${Qt5Widgets_DEFINITIONS}) # Executables fail to build with Qt 5 in the default configuration # without -fPIE. We add that here. set(CMAKE_CXX_FLAGS "${Qt5Widgets_EXECUTABLE_COMPILE_FLAGS}") add_executable(hello_world main.cpp mainwindow.cpp) # The Qt5Widgets_LIBRARIES variable also includes QtGui and QtCore target_link_libraries(hello_world ${Qt5Widgets_LIBRARIES}) 

CMake рдХреЗ рдЕрдзрд┐рдХ рдЖрдзреБрдирд┐рдХ рдЙрдкрдпреЛрдЧ рдХреА рдУрд░


рд╕реАрдПрдордХреЗ 2.8.8 рдХреЗ рд╕рд╛рде рд╢реБрд░реВ, рд╣рдо рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕реБрдзрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
CMakeLists
 cmake_minimum_required(2.8.8) project(hello-world) # Tell CMake to run moc when necessary: set(CMAKE_AUTOMOC ON) # As moc files are generated in the binary dir, tell CMake # to always look for includes there: set(CMAKE_INCLUDE_CURRENT_DIR ON) # Widgets finds its own dependencies. find_package(Qt5Widgets REQUIRED) add_executable(hello_world main.cpp mainwindow.cpp) qt5_use_modules(hello_world Widgets) 


qt5_use_modules CMake qt5_use_modules Qt рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рдВрдкреВрд░реНрдг рд╕реНрдерд╛рдкрдирд╛ рдХреЛ qt5_use_modules ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдмрд╛рд░ рдореЗрдВ рдХрдИ рддрд░реНрдХреЛрдВ рдХреЗ рд╕рд╛рде рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
qt5_use_modules(hello_world Widgets Declarative)
Qmake рдХреЗ рд▓рд┐рдП, рдпрд╣ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ:
TARGET = hello_world
QT += widgets declarative

рд╕рднреА рдЧреБрдг CMakeLists рдХреЗ рджрд╛рдпрд░реЗ рдореЗрдВ рд╣реЛрдиреЗ рдХреЗ рдмрдЬрд╛рдп рд╡рд┐рд╢рд┐рд╖реНрдЯ рд▓рдХреНрд╖реНрдп рдлрд╝рдВрдХреНрд╢рди рдХреЗ рджрд╛рдпрд░реЗ рдореЗрдВ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рд╕реНрдирд┐рдкреЗрдЯ рдореЗрдВ:
CMakeList
 add_executable(hello_world main.cpp mainwindow.cpp) add_library(hello_library lib.cpp) add_executable(hello_coretest test.cpp) find_package(Qt5Widgets) qt5_use_package(hello_world Widgets) qt5_use_package(hello_library Core) qt5_use_package(hello_coretest Test) 

рдХреНрдпреЛрдВрдХрд┐ рд╕рднреА рдкреИрд░рд╛рдореАрдЯрд░ рд▓рдХреНрд╖реНрдп (рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдореЙрдбреНрдпреВрд▓ рдпрд╛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА) рдХреЗ рджрд╛рдпрд░реЗ рдореЗрдВ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рд╡реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, -fPIE рдЙрдкрдпреЛрдЧ рддрдм рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм hello_library рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╕рдордп рдФрд░ -DQT_GUI_LIB рдЙрдкрдпреЛрдЧ рддрдм рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм hello_corulest рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
CMake рдкрд░ рдПрдХ рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рдЕрдзрд┐рдХ рд╕реБрд╡реНрдпрд╡рд╕реНрдерд┐рдд рддрд░реАрдХрд╛ рд╣реИред

рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рд╡рд┐рд╡рд░рдг


CMake рдХреА рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ рдХрд┐ рдХрдИ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЬреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд╡реЗ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВред рд╡рд┐рдЪрд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рдкреНрд░рддреНрдпреЗрдХ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд▓рд┐рдП рдлрд╛рдЗрдВрдб рдлрд╛рдЗрд▓ рд▓рд┐рдЦреЗрдВ, рдпрд╛ рдореМрдЬреВрджрд╛ рдлрд╛рдЗрдВрдб рдлрд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред CMake рдлрд╛рдЗрдВрдб рдлрд╛рдЗрд▓реНрд╕ рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рд╕реЗрдЯ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
CMake рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рдлрд╛рдЗрд▓реНрд╕ рдореЗрдВ рд╕реЗ рдПрдХ FindQt4.cmake рдлрд╛рдЗрд▓ рд╣реИред рдпрд╣ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ Qt рдЦреЛрдЬрдиреЗ рдХреА рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░реА рд▓реЗрддреА рд╣реИ, рддрд╛рдХрд┐ рдЖрдк рдмрд╕ рдХреЙрд▓ рдХрд░ рд╕рдХреЗрдВ:
find_package(Qt4)

рдпрд╣ рдлрд╛рдЗрдВрдб рдлрд╝рд╛рдЗрд▓ рдЪрд░ ${QT_INCLUDES} рдФрд░ ${QT_QTGUI_LIBRARIES} ред рдЗрд╕ рдлрд╛рдЗрд▓ рдХреА рдПрдХ рдЦрд╛рдореА рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдкреБрд░рд╛рдиреА рд╣реЛ рд╕рдХрддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм Qt 4.6 рджрд┐рд╕рдВрдмрд░ 2009 рдореЗрдВ рд╕рд╛рдордиреЗ рдЖрдпрд╛, рддреЛ рдЗрд╕рдореЗрдВ рдирдпрд╛ QtMultimedia рдореЙрдбреНрдпреВрд▓ рд╢рд╛рдорд┐рд▓ рдерд╛ред рдЬреВрди 2010 рдореЗрдВ рдЬрд╛рд░реА CMake 2.8.2 рддрдХ рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдерд╛ред

Qt 5 рдХреА рдЦреЛрдЬ рдереЛрдбрд╝реА рдЕрд▓рдЧ рд╣реИред рдлрд╛рдЗрдВрдб рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдирд┐рд░реНрднрд░рддрд╛ рдЦреЛрдЬрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕реАрдПрдордХреЗ рдЙрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкрдврд╝рдиреЗ рдореЗрдВ рднреА рд╕рдХреНрд╖рдо рд╣реИ рдЬреЛ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдФрд░ рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрднрд░рддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред рдРрд╕реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЗрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╡реЗ рдЖрдорддреМрд░ рдкрд░ рд╕реАрдПрдордХреЗ рджреНрд╡рд╛рд░рд╛ рд╣реА рдЙрддреНрдкрдиреНрди рдХреА рдЬрд╛рддреА рд╣реИрдВред

Qt 5 рдмрд┐рд▓реНрдб рднреА рдЗрди CMake рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди CMake рдкрд░ рдХреЛрдИ рдирд┐рд░реНрднрд░рддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред
рдЗрд╕рдХрд╛ рдореБрдЦреНрдп рд▓рд╛рдн рдпрд╣ рд╣реИ рдХрд┐ рдХреНрдпреВрдЯреА рдлрд╝рдВрдХреНрд╢рдВрд╕ (рдФрд░ рдореЙрдбреНрдпреВрд▓) рдЬреЛ рд╕реАрдПрдордХреЗ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд╡реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдП рдЧрдП рд╕реАрдПрдордХреЗ рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред рд╕рднреА рдХреНрдпреВрдЯреА рдПрд╕реЗрдВрд╢рд┐рдпрд▓ рдФрд░ рдХреНрдпреВрдЯреА рдПрдбреЙрдиреНрд╕ рдореЙрдбреНрдпреВрд▓ рдЕрдкрдиреА рд╕реАрдПрдордХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдВрдЧреЗ, рдФрд░ рдореЙрдбреНрдпреВрд▓ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдлрд╝рдВрдХреНрд╢рди рддреБрд░рдВрдд рдореИрдХреНрд░реЛрдЬрд╝ рдФрд░ рд╕реАрдПрдордХреЗ рдЪрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реБрд▓рдн рд╣реЛрдВрдЧреЗред

рдореВрд▓ рд▓реЗрдЦ: www.kdab.com/use-cmake-with-qt-5

Source: https://habr.com/ru/post/In181838/


All Articles