https://www.cnblogs.com/linuxAndMcu/p/14458427.html
https://blog.csdn.net/developerof/article/details/108525160
CMakeLists.txt文件添加模块
cmake_minimum_required(VERSION 3.5)project(tcpTranslate VERSION 0.1 LANGUAGES CXX)set(CMAKE_INCLUDE_CURRENT_DIR ON)set(CMAKE_AUTOUIC ON) #开启uic.exe 编译.ui文件set(CMAKE_AUTOMOC ON) #开启moc.exe 编译头文件含有Q_OBJECT且是QObject对象的子类的类,实现一些信号槽相关实现代码set(CMAKE_AUTORCC ON) #讲资源文件进行编译 编译成cpp文件set(CMAKE_CXX_STANDARD 17) #cmake 标准set(CMAKE_CXX_STANDARD_REQUIRED ON)find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets)find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets)#Add the module name to be added herefind_package(Qt5 COMPONENTS Network)//项目中代码文件set(PROJECT_SOURCESmain.cppwidget.cppwidget.hwidget.ui)if(${QT_VERSION_MAJOR} GREATER_EQUAL 6)qt_add_executable(tcpTranslateMANUAL_FINALIZATION${PROJECT_SOURCES})# Define target properties for Android with Qt 6 as:# set_property(TARGET tcpTranslate APPEND PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR# ${CMAKE_CURRENT_SOURCE_DIR}/android)# For more information, see https://doc.qt.io/qt-6/qt-add-executable.html#target-creationelse()if(ANDROID)add_library(tcpTranslate SHARED${PROJECT_SOURCES})# Define properties for Android with Qt 5 after find_package() calls as:# set(ANDROID_PACKAGE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/android")else()add_executable(tcpTranslate${PROJECT_SOURCES})endif()endif()#Add the module library link to be added here 在这里添加需要添加的模块库链接target_link_libraries(tcpTranslate PRIVATE Qt${QT_VERSION_MAJOR}::WidgetsQt${QT_VERSION_MAJOR}::Network )set_target_properties(tcpTranslate PROPERTIESMACOSX_BUNDLE_GUI_IDENTIFIER my.example.comMACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}MACOSX_BUNDLE TRUEWIN32_EXECUTABLE TRUE)if(QT_VERSION_MAJOR EQUAL 6)qt_finalize_executable(tcpTranslate)endif()
