AINO_dq 2024-08-15 13:41 采纳率: 33.3%
浏览 71

QT如何把cmake项目和qmake项目结合起来?

QT如何将cmake项目和qmake项目结合起来?cmake项目是用qwidget,qmake用的是qmainwindow,如何将qmake项目综合到cmake项目中?

img

img

  • 写回答

2条回答 默认 最新

  • 一直免费一直爽 2024-08-15 13:47
    关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    要将qmake项目整合到cmake项目中,可以按照以下步骤操作:

    1. 将qmake项目的源文件(如mainwindow.h、mainwindow.cpp、main.cpp等)复制到cmake项目的相应文件夹中(如Header Files、Source Files等)。

    2. 将qmake项目的界面文件(如.ui文件)复制到cmake项目的相应文件夹中(如界面文件文件夹)。

    3. 在cmake项目的CMakeLists.txt文件中,添加以下内容以包含qmake项目的源文件和头文件:

    set(SOURCE_FILES
        main.cpp
        widget.cpp
        mainwindow.cpp
    )
    
    set(HEADER_FILES
        widget.h
        mainwindow.h
    )
    
    qt_add_executable(your_executable_name ${SOURCE_FILES} ${HEADER_FILES})
    
    1. 如果qmake项目还包含其他资源文件(如图片、图标等),请将这些文件复制到cmake项目的相应文件夹中(如resources文件夹),并在CMakeLists.txt文件中添加以下内容以包含这些资源文件:
    set(RESOURCE_FILES
        resources.qrc
    )
    
    qt_add_resources(QT_RESOURCES ${RESOURCE_FILES})
    
    1. 如果qmake项目使用了Qt的模块(如QtWidgets、QtGui等),请在CMakeLists.txt文件中添加以下内容以包含这些模块:
    find_package(Qt5 COMPONENTS Widgets REQUIRED)
    target_link_libraries(your_executable_name Qt5::Widgets)
    
    1. 最后,在CMakeLists.txt文件中添加以下内容以设置项目的默认目标为qmake项目的目标:
    set_target_properties(your_executable_name PROPERTIES
        RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
        LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib
    )
    
    1. 运行cmake生成项目文件,然后编译和运行项目。

    注意:这里的"your_executable_name"需要替换为你的实际可执行文件名称。

    评论

报告相同问题?

问题事件

  • 创建了问题 8月15日