gpt4 book ai didi

qt - 使用 cmake 从源代码构建应用程序和 Qt

转载 作者:行者123 更新时间:2023-12-02 00:35:30 26 4
gpt4 key购买 nike

我正在尝试构建一个使用 qt5.6 的应用程序,qt 和应用程序都是从源代码构建的(使用忍者生成器,在 Windows 上使用 visual studio 编译器,在 mac 上使用 clang)。

我被困在 find_package(Qt5Core ..) :当 Qt 还没有构建时,它不会被发现。而且因为没有找到,所以生成的cmake文件不完整。

我想我需要一个设置,它生成一个 ninja 文件,在构建时构建 Qt,然后在继续构建之前重新生成 ninja 文件(此时它会找到 qt)。

或者我可以从源代码构建 Qt+ 应用程序的任何其他方式,这样如果我在 Qt 中更改某些内容,它会自动重建。

我应该如何设置我的 cmake 文件来做到这一点?

最佳答案

您可以使用 CMake 的 ExternalProject命令从 CMake 中调用 CMake。您可以在那里指定依赖项,这样您的应用程序只会在 Qt 构建完成后构建。

我碰巧在这里有一个小例子,它使用 ExternalProject_Add 来构建一个库,然后是一个应用程序。在该示例中,库和应用程序的 CMake 在 make 时间被调用。

cmake_minimum_required(VERSION 3.0)

include(ExternalProject)

ExternalProject_Add(cmake_lib
URL ../cmake_lib
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
)

ExternalProject_Add(cmake_app
DEPENDS cmake_lib
URL ../cmake_app
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
)

关于qt - 使用 cmake 从源代码构建应用程序和 Qt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49799951/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com