如何使用 qtcreator 通过 ninja 构建系统远程部署应用程序

Posted

技术标签:

【中文标题】如何使用 qtcreator 通过 ninja 构建系统远程部署应用程序【英文标题】:How to deploy app remotely via ninja build system using qtcreator 【发布时间】:2019-09-30 12:32:40 【问题描述】:

我想将我的 qt 应用程序部署到远程 Linux 设备。我使用 qtcreatorcmakeninja 构建系统。但是当我想通过 ssh 远程调试我的应用程序时,出现以下错误:

ninja: error: unknown target 'install'
15:56:22: The process "/usr/bin/cmake" exited with code 1.

【问题讨论】:

【参考方案1】:

阅读Deploying CMake Projects to Embedded Linux Devices。取决于你可以只是

    将以下行添加到您的CMakeLists.txt

    file(WRITE "$CMAKE_SOURCE_DIR/QtCreatorDeployment.txt" "<deployment/prefix>\n")
    
    macro(add_deployment_file SRC DEST)
        file(RELATIVE_PATH path $CMAKE_SOURCE_DIR $CMAKE_CURRENT_SOURCE_DIR)
        file(APPEND "$CMAKE_SOURCE_DIR/QtCreatorDeployment.txt" "$path/$SRC:$DEST\n")
    endmacro()
    
    macro(add_deployment_directory SRC DEST)
        file(GLOB_RECURSE files RELATIVE "$CMAKE_CURRENT_SOURCE_DIR" "$SRC/*")
        foreach(filename $files)
            get_filename_component(path $filename PATH)
            add_deployment_file("$filename" "$DEST/$path")
        endforeach(filename)
    endmacro()
    
    add_deployment_file($CMAKE_BINARY_DIR/$PROJECT_NAME /path/to/remote/app)
    

    QtCreator 转到Projects/Run 并在部署中删除Install into temporary host directory 步骤。

【讨论】:

以上是关于如何使用 qtcreator 通过 ninja 构建系统远程部署应用程序的主要内容,如果未能解决你的问题,请参考以下文章

QWT 设计器插件无法通过 QtCreator 内置设计器访问

Ninja 构建中的 CMake 命令行参数

ninja介绍及使用

如何使用ninja编译系统编译我们的程序?

带有 GAE 的 Ninja 框架:访问 google 应用引擎开发控制台

如何使用带有 Ninja 生成器的 CMake 将修饰符标志传递给存档文件(ar)