Qt Creator 构建失败 - 无法克隆新 Qt Quick 应用程序的存储库

问题描述 投票:0回答:1

我正在尝试在 Qt Creator 中创建一个新的 Qt Quick 应用程序。然而,每次我尝试构建该项目时,甚至在做任何事情之前它都会立即失败。

/PATH/QMLTest/ds-subbuild/ds-populate-prefix/tmp/ds-populate-gitclone.cmake:39: error: Failed to clone repository:  
'https://code.qt.io/qt-labs/qtquickdesigner-components.git'  
:-1: error: ninja: build stopped: subcommand failed.  
/PATH/QMLTest/CMakeLists.txt:32: error: Build step for ds failed: 1

Call stack:  
  /PATH/QMLTest/CMakeLists.txt:32 (include)  
  /PATH/QMLTest/qmlcomponents:16 (FetchContent_Populate)  
  /opt/homebrew/Cellar/cmake/3.28.3/share/cmake/Modules/FetchContent.cmake:1819 (cmake_language)  
  /opt/homebrew/Cellar/cmake/3.28.3/share/cmake/Modules/FetchContent.cmake:1819:EVAL:2 (__FetchContent_directPopulate)  
  /opt/homebrew/Cellar/cmake/3.28.3/share/cmake/Modules/FetchContent.cmake:1679 (message)  
:-1: error: CMake process exited with exit code 1.  
:-1: error: CMake project configuration failed. No CMake configuration for build type "Debug" found.

克隆存储库似乎存在一些问题

https://code.qt.io/qt-labs/qtquickdesigner-components.git
,我什至无法使用浏览器访问它。我不知道该怎么做才能解决这个问题。如果您需要更多信息,请告诉我。

这是终端构建输出:

$ cmake -S '/PATH/FirstQML' -B /PATH/Qt/Builds/build-FirstQML-Qt_6_6_1_for_macOS-Debug
-- The CXX compiler identification is AppleClang 15.0.0.15000100
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
Building designer components.
[1/9] Creating directories for 'ds-populate'
[1/9] Performing download step (git clone) for 'ds-populate'
Cloning into 'ds-src'...
fatal: unable to access 'https://code.qt.io/qt-labs/qtquickdesigner-components.git/': Failed to connect to code.qt.io port 443 after 75 ms: Couldn't connect to server
Cloning into 'ds-src'...
fatal: unable to access 'https://code.qt.io/qt-labs/qtquickdesigner-components.git/': Failed to connect to code.qt.io port 443 after 74 ms: Couldn't connect to server
Cloning into 'ds-src'...
fatal: unable to access 'https://code.qt.io/qt-labs/qtquickdesigner-components.git/': Failed to connect to code.qt.io port 443 after 73 ms: Couldn't connect to server
-- Had to git clone more than once: 3 times.
CMake Error at ds-subbuild/ds-populate-prefix/tmp/ds-populate-gitclone.cmake:39 (message):
  Failed to clone repository:
  'https://code.qt.io/qt-labs/qtquickdesigner-components.git'


FAILED: ds-populate-prefix/src/ds-populate-stamp/ds-populate-download /PATH/Qt/Builds/build-FirstQML-Qt_6_6_1_for_macOS-Debug/_deps/ds-subbuild/ds-populate-prefix/src/ds-populate-stamp/ds-populate-download 
cd /PATH/Qt/Builds/build-FirstQML-Qt_6_6_1_for_macOS-Debug/_deps && /opt/homebrew/Cellar/cmake/3.28.3/bin/cmake -P /PATH/Qt/Builds/build-FirstQML-Qt_6_6_1_for_macOS-Debug/_deps/ds-subbuild/ds-populate-prefix/tmp/ds-populate-gitclone.cmake && /opt/homebrew/Cellar/cmake/3.28.3/bin/cmake -E touch /PATH/Qt/Builds/build-FirstQML-Qt_6_6_1_for_macOS-Debug/_deps/ds-subbuild/ds-populate-prefix/src/ds-populate-stamp/ds-populate-download
ninja: build stopped: subcommand failed.

CMake Error at /opt/homebrew/Cellar/cmake/3.28.3/share/cmake/Modules/FetchContent.cmake:1679 (message):
  Build step for ds failed: 1
Call Stack (most recent call first):
  /opt/homebrew/Cellar/cmake/3.28.3/share/cmake/Modules/FetchContent.cmake:1819:EVAL:2 (__FetchContent_directPopulate)
  /opt/homebrew/Cellar/cmake/3.28.3/share/cmake/Modules/FetchContent.cmake:1819 (cmake_language)
  qmlcomponents:16 (FetchContent_Populate)
  CMakeLists.txt:32 (include)


-- Configuring incomplete, errors occurred!

感谢任何有助于解决此问题的帮助或提示。预先感谢!

qt qt-creator qtquick2 qt-quick qt6
1个回答
0
投票

code.qt.io 今天由于某种未知原因而关闭,但幸运的是,默认的 Qt 应用程序实际上并不那么依赖它。如果您在 CMakeLists.txt 中将 BUILD_QDS_COMPONENTS 选项从 ON 切换为 OFF:

option(BUILD_QDS_COMPONENTS "Build design studio components" OFF)

或者对于旧版本,当它是缓存变量时:

set(BUILD_QDS_COMPONENTS OFF CACHE BOOL "Build design studio components" FORCE)

然后它不会尝试构建和链接 Design Studio 组件,但您的应用程序将在运行时崩溃并出现错误:

module "QtQuick.Studio.Application" is not installed

因为它在 imports//Constants.qml 中依赖于它,但默认情况下似乎未使用此依赖项,因此应用程序在没有它的情况下运行得很好,甚至可以在 Design Studio 中启动。要删除依赖项,只需删除 Constants.qml 中的几行即可:

- import QtQuick.Studio.Application

-    property StudioApplication application: StudioApplication {
-        fontPath: Qt.resolvedUrl("../../content/" + relativeFontDirectory)
-    }

它应该使您的应用程序现在运行得很好,但是当服务器启动时,为了避免将来出现此问题,明智的做法是从 https://code.qt.io/qt-labs/ 克隆依赖存储库qtquickdesigner-components.git 并替换 /qmlcomponents 中的 Fetch_Declare 调用,使其使用本地文件,而不是每次配置项目时从远程获取:

FetchContent_Declare(
    ds
    SOURCE_DIR "C:/Cloned/Repos/qtquickdesigner-components" # your path to the qtquickdesigner-components repo
)
© www.soinside.com 2019 - 2024. All rights reserved.