将 MacOS 更新到 1.015.4 并将 Xcode 更新到 11.4 后,Qt Creator 应用程序无法构建,如何解决?
Qt Creator app won't build after updating MacOS to 1.015.4 and Xcode to 11.4, how to solve?
我使用 Qt Creator 为 Android 和 iOS 创建应用程序。我最近迁移到 MacOS 10.15.4 Catalina,并将 Xcode 升级到 11.4,之后项目停止启动。
它产生以下错误:[xcodebuild-debug-simulator] 错误 64
如有必要,我可以提供完整的错误代码。
可能是由于过渡到新版本Xcode导致的错误。也许您需要在设置中更改一些内容?
我指望你:)
完整错误代码:
14:31:44: Running steps for project iValentina...
14:31:44: Starting: "/Users/rz/Qt/5.12.1/ios/bin/qmake" /Users/rz/Documents/ivalentina/iValentina.pro -spec macx-ios-clang CONFIG+=iphonesimulator CONFIG+=simulator CONFIG+=qml_debug
14:31:47: The process "/Users/rz/Qt/5.12.1/ios/bin/qmake" exited normally.
14:31:47: Starting: "/usr/bin/make" -f /Users/rz/Desktop/FOLDERS/iOS_Simulator_Build/Makefile qmake_all
Traceback (most recent call last):
File "/Users/rz/Qt/5.12.1/ios/mkspecs/features/uikit/devices.py", line 78, in <module>
if is_suitable_runtime(runtimes, runtime_name, args.platform, args.minimum_deployment_target):
File "/Users/rz/Qt/5.12.1/ios/mkspecs/features/uikit/devices.py", line 53, in is_suitable_runtime
and "unavailable" not in runtime["availability"] \
KeyError: 'availability'
make: Nothing to be done for `qmake_all'.
14:31:48: The process "/usr/bin/make" exited normally.
14:31:48: Starting: "/usr/bin/make" -j8
Traceback (most recent call last):
File "/Users/rz/Qt/5.12.1/ios/mkspecs/features/uikit/devices.py", line 78, in <module>
if is_suitable_runtime(runtimes, runtime_name, args.platform, args.minimum_deployment_target):
File "/Users/rz/Qt/5.12.1/ios/mkspecs/features/uikit/devices.py", line 53, in is_suitable_runtime
and "unavailable" not in runtime["availability"] \
KeyError: 'availability'
xcodebuild build -project iValentina.xcodeproj -scheme iValentina -configuration Debug -destination "id=" -destination-timeout 1 ENABLE_ONLY_ACTIVE_RESOURCES=NO
xcodebuild: error: missing value for key 'id' of option 'Destination'
Usage: xcodebuild [-project <projectname>] [[-target <targetname>]...|-alltargets] [-configuration <configurationname>] [-arch <architecture>]... [-sdk [<sdkname>|<sdkpath>]] [-showBuildSettings [-json]] [<buildsetting>=<value>]... [<buildaction>]...
xcodebuild [-project <projectname>] -scheme <schemeName> [-destination <destinationspecifier>]... [-configuration <configurationname>] [-arch <architecture>]... [-sdk [<sdkname>|<sdkpath>]] [-showBuildSettings [-json]] [-showdestinations] [<buildsetting>=<value>]... [<buildaction>]...
xcodebuild -workspace <workspacename> -scheme <schemeName> [-destination <destinationspecifier>]... [-configuration <configurationname>] [-arch <architecture>]... [-sdk [<sdkname>|<sdkpath>]] [-showBuildSettings] [-showdestinations] [<buildsetting>=<value>]... [<buildaction>]...
xcodebuild -version [-sdk [<sdkfullpath>|<sdkname>] [-json] [<infoitem>] ]
xcodebuild -list [[-project <projectname>]|[-workspace <workspacename>]] [-json]
xcodebuild -showsdks [-json]
xcodebuild -exportArchive -archivePath <xcarchivepath> [-exportPath <destinationpath>] -exportOptionsPlist <plistpath>
xcodebuild -exportNotarizedApp -archivePath <xcarchivepath> -exportPath <destinationpath>
xcodebuild -exportLocalizations -localizationPath <path> -project <projectname> [-exportLanguage <targetlanguage>...[-includeScreenshots]]
xcodebuild -importLocalizations -localizationPath <path> -project <projectname>
xcodebuild -resolvePackageDependencies [-project <projectname>|-workspace <workspacename>] -clonedSourcePackagesDirPath <path>
xcodebuild -create-xcframework [-help] [-framework <path>] [-library <path> [-headers <path>]] -output <path>
Options:
-usage print brief usage
-help print complete usage
-verbose provide additional status output
-license show the Xcode and SDK license agreements
-checkFirstLaunchStatus Check if any First Launch tasks need to be performed
-runFirstLaunch install packages and agree to the license
-project NAME build the project NAME
-target NAME build the target NAME
-alltargets build all targets
-workspace NAME build the workspace NAME
-scheme NAME build the scheme NAME
-configuration NAME use the build configuration NAME for building each target
-xcconfig PATH apply the build settings defined in the file at PATH as overrides
-arch ARCH build each target for the architecture ARCH; this will override architectures defined in the project
-sdk SDK use SDK as the name or path of the base SDK when building the project
-toolchain NAME use the toolchain with identifier or name NAME
-destination DESTINATIONSPECIFIER use the destination described by DESTINATIONSPECIFIER (a comma-separated set of key=value pairs describing the destination to use)
-destination-timeout TIMEOUT wait for TIMEOUT seconds while searching for the destination device
-parallelizeTargets build independent targets in parallel
-jobs NUMBER specify the maximum number of concurrent build operations
-maximum-concurrent-test-device-destinations NUMBER the maximum number of device destinations to test on concurrently
-maximum-concurrent-test-simulator-destinations NUMBER the maximum number of simulator destinations to test on concurrently
-parallel-testing-enabled YES|NO overrides the per-target setting in the scheme
-parallel-testing-worker-count NUMBER the exact number of test runners that will be spawned during parallel testing
-maximum-parallel-testing-workers NUMBER the maximum number of test runners that will be spawned during parallel testing
-dry-run do everything except actually running the commands
-quiet do not print any output except for warnings and errors
-hideShellScriptEnvironment don't show shell script environment variables in build log
-showsdks display a compact list of the installed SDKs
-showdestinations display a list of destinations
-showTestPlans display a list of test plans
-showBuildSettings display a list of build settings and values
-showBuildSettingsForIndex display build settings for the index service
-list lists the targets and configurations in a project, or the schemes in a workspace
-find-executable NAME display the full path to executable NAME in the provided SDK and toolchain
-find-library NAME display the full path to library NAME in the provided SDK and toolchain
-version display the version of Xcode; with -sdk will display info about one or all installed SDKs
-enableAddressSanitizer YES|NO turn the address sanitizer on or off
-enableThreadSanitizer YES|NO turn the thread sanitizer on or off
-enableUndefinedBehaviorSanitizer YES|NO turn the undefined behavior sanitizer on or off
-resultBundlePath PATH specifies the directory where a result bundle describing what occurred will be placed
-resultStreamPath PATH specifies the file where a result stream will be written to (the file must already exist)
-resultBundleVersion 3 [default] specifies which result bundle version should be used
-clonedSourcePackagesDirPath PATH specifies the directory to which remote source packages are fetch or expected to be found
-derivedDataPath PATH specifies the directory where build products and other derived data will go
-archivePath PATH specifies the directory where any created archives will be placed, or the archive that should be exported
-exportArchive specifies that an archive should be exported
-exportNotarizedApp export an archive that has been notarized by Apple
-exportOptionsPlist PATH specifies a path to a plist file that configures archive exporting
-enableCodeCoverage YES|NO turn code coverage on or off when testing
-exportPath PATH specifies the destination for the product exported from an archive
-skipUnavailableActions specifies that scheme actions that cannot be performed should be skipped instead of causing a failure
-exportLocalizations exports completed and outstanding project localizations
-importLocalizations imports localizations for a project, assuming any necessary localized resources have been created in Xcode
-localizationPath specifies a path to XLIFF localization files
-exportLanguage specifies multiple optional ISO 639-1 languages included in a localization export
-xcroot specifies a path to a .xcroot to use for building and/or testing
-xctestrun specifies a path to a test run specification
-testPlan specifies the name of the test plan associated with the scheme to use for testing
-only-testing constrains testing by specifying tests to include, and excluding other tests
-only-testing:TEST-IDENTIFIER constrains testing by specifying tests to include, and excluding other tests
-skip-testing constrains testing by specifying tests to exclude, but including other tests
-skip-testing:TEST-IDENTIFIER constrains testing by specifying tests to exclude, but including other tests
-test-timeouts-enabled YES|NO enable or disable test timeout behavior
-default-test-execution-time-allowance the default execution time an individual test is given to execute, if test timeouts are enabled
-maximum-test-execution-time-allowance the maximum execution time an individual test is given to execute, regardless of the test's preferred allowance
-only-test-configuration constrains testing by specifying test configurations to include, and excluding other test configurations
-skip-test-configuration constrains testing by specifying test configurations to exclude, but including other test configurations
-testLanguage constrains testing by specifying ISO 639-1 language in which to run the tests
-testRegion constrains testing by specifying ISO 3166-1 region in which to run the tests
-resolvePackageDependencies resolves any Swift package dependencies referenced by the project or workspace
-disableAutomaticPackageResolution prevents packages from automatically being resolved to versions other than those recorded in the `Package.resolved` file
-json output as JSON (note: -json implies -quiet)
-allowProvisioningUpdates Allow xcodebuild to communicate with the Apple Developer website. For automatically signed targets, xcodebuild will create and update profiles, app IDs, and certificates. For manually signed targets, xcodebuild will download missing or updated provisioning profiles. Requires a developer account to have been added in Xcode's Accounts preference pane.
-allowProvisioningDeviceRegistration Allow xcodebuild to register your destination device on the developer portal if necessary. This flag only takes effect if -allowProvisioningUpdates is also passed.
-showBuildTimingSummary display a report of the timings of all the commands invoked during the build
-create-xcframework create an xcframework from prebuilt libraries; -help for more information.
make: *** [xcodebuild-debug-simulator] Error 64
14:31:48: The process "/usr/bin/make" exited with code 2.
Error while building/deploying project iValentina (kit: Qt 5.12.1 for iOS Simulator)
When executing step "Make"
14:31:48: Elapsed time: 00:04.
试试这个。
/Users/(user_name)/Qt5.12.1/5.12.1/ios/mkspecs/features/uikit/devices.py
更改第 53 行:
from : and "unavailable" not in runtime["availability"] \
to : and runtime["isAvailable"] \
更改第 80 行:
from : if "unavailable" not in device["availability"] \
to : if device["isAvailable"] \
你也可以试试Qt5.12.8,不会报错64
在devices.py中,simctl命令生成"devices"和"runtimes"的json数据。 json 中的某些属性已在 Xcode11 CLI 中更改。
我遇到了同样的问题。解决方案是将 Qt 从 1.12 版本升级到 1.14。
我知道这不是解决方案,但就我而言,我使用了这个解决方法并且一切正常:
注释文件中的所有内容:
/Your Qt Directory/ mkspecs / features/mac / sdk.mk
我使用 Qt Creator 为 Android 和 iOS 创建应用程序。我最近迁移到 MacOS 10.15.4 Catalina,并将 Xcode 升级到 11.4,之后项目停止启动。
它产生以下错误:[xcodebuild-debug-simulator] 错误 64
如有必要,我可以提供完整的错误代码。
可能是由于过渡到新版本Xcode导致的错误。也许您需要在设置中更改一些内容?
我指望你:)
完整错误代码:
14:31:44: Running steps for project iValentina...
14:31:44: Starting: "/Users/rz/Qt/5.12.1/ios/bin/qmake" /Users/rz/Documents/ivalentina/iValentina.pro -spec macx-ios-clang CONFIG+=iphonesimulator CONFIG+=simulator CONFIG+=qml_debug
14:31:47: The process "/Users/rz/Qt/5.12.1/ios/bin/qmake" exited normally.
14:31:47: Starting: "/usr/bin/make" -f /Users/rz/Desktop/FOLDERS/iOS_Simulator_Build/Makefile qmake_all
Traceback (most recent call last):
File "/Users/rz/Qt/5.12.1/ios/mkspecs/features/uikit/devices.py", line 78, in <module>
if is_suitable_runtime(runtimes, runtime_name, args.platform, args.minimum_deployment_target):
File "/Users/rz/Qt/5.12.1/ios/mkspecs/features/uikit/devices.py", line 53, in is_suitable_runtime
and "unavailable" not in runtime["availability"] \
KeyError: 'availability'
make: Nothing to be done for `qmake_all'.
14:31:48: The process "/usr/bin/make" exited normally.
14:31:48: Starting: "/usr/bin/make" -j8
Traceback (most recent call last):
File "/Users/rz/Qt/5.12.1/ios/mkspecs/features/uikit/devices.py", line 78, in <module>
if is_suitable_runtime(runtimes, runtime_name, args.platform, args.minimum_deployment_target):
File "/Users/rz/Qt/5.12.1/ios/mkspecs/features/uikit/devices.py", line 53, in is_suitable_runtime
and "unavailable" not in runtime["availability"] \
KeyError: 'availability'
xcodebuild build -project iValentina.xcodeproj -scheme iValentina -configuration Debug -destination "id=" -destination-timeout 1 ENABLE_ONLY_ACTIVE_RESOURCES=NO
xcodebuild: error: missing value for key 'id' of option 'Destination'
Usage: xcodebuild [-project <projectname>] [[-target <targetname>]...|-alltargets] [-configuration <configurationname>] [-arch <architecture>]... [-sdk [<sdkname>|<sdkpath>]] [-showBuildSettings [-json]] [<buildsetting>=<value>]... [<buildaction>]...
xcodebuild [-project <projectname>] -scheme <schemeName> [-destination <destinationspecifier>]... [-configuration <configurationname>] [-arch <architecture>]... [-sdk [<sdkname>|<sdkpath>]] [-showBuildSettings [-json]] [-showdestinations] [<buildsetting>=<value>]... [<buildaction>]...
xcodebuild -workspace <workspacename> -scheme <schemeName> [-destination <destinationspecifier>]... [-configuration <configurationname>] [-arch <architecture>]... [-sdk [<sdkname>|<sdkpath>]] [-showBuildSettings] [-showdestinations] [<buildsetting>=<value>]... [<buildaction>]...
xcodebuild -version [-sdk [<sdkfullpath>|<sdkname>] [-json] [<infoitem>] ]
xcodebuild -list [[-project <projectname>]|[-workspace <workspacename>]] [-json]
xcodebuild -showsdks [-json]
xcodebuild -exportArchive -archivePath <xcarchivepath> [-exportPath <destinationpath>] -exportOptionsPlist <plistpath>
xcodebuild -exportNotarizedApp -archivePath <xcarchivepath> -exportPath <destinationpath>
xcodebuild -exportLocalizations -localizationPath <path> -project <projectname> [-exportLanguage <targetlanguage>...[-includeScreenshots]]
xcodebuild -importLocalizations -localizationPath <path> -project <projectname>
xcodebuild -resolvePackageDependencies [-project <projectname>|-workspace <workspacename>] -clonedSourcePackagesDirPath <path>
xcodebuild -create-xcframework [-help] [-framework <path>] [-library <path> [-headers <path>]] -output <path>
Options:
-usage print brief usage
-help print complete usage
-verbose provide additional status output
-license show the Xcode and SDK license agreements
-checkFirstLaunchStatus Check if any First Launch tasks need to be performed
-runFirstLaunch install packages and agree to the license
-project NAME build the project NAME
-target NAME build the target NAME
-alltargets build all targets
-workspace NAME build the workspace NAME
-scheme NAME build the scheme NAME
-configuration NAME use the build configuration NAME for building each target
-xcconfig PATH apply the build settings defined in the file at PATH as overrides
-arch ARCH build each target for the architecture ARCH; this will override architectures defined in the project
-sdk SDK use SDK as the name or path of the base SDK when building the project
-toolchain NAME use the toolchain with identifier or name NAME
-destination DESTINATIONSPECIFIER use the destination described by DESTINATIONSPECIFIER (a comma-separated set of key=value pairs describing the destination to use)
-destination-timeout TIMEOUT wait for TIMEOUT seconds while searching for the destination device
-parallelizeTargets build independent targets in parallel
-jobs NUMBER specify the maximum number of concurrent build operations
-maximum-concurrent-test-device-destinations NUMBER the maximum number of device destinations to test on concurrently
-maximum-concurrent-test-simulator-destinations NUMBER the maximum number of simulator destinations to test on concurrently
-parallel-testing-enabled YES|NO overrides the per-target setting in the scheme
-parallel-testing-worker-count NUMBER the exact number of test runners that will be spawned during parallel testing
-maximum-parallel-testing-workers NUMBER the maximum number of test runners that will be spawned during parallel testing
-dry-run do everything except actually running the commands
-quiet do not print any output except for warnings and errors
-hideShellScriptEnvironment don't show shell script environment variables in build log
-showsdks display a compact list of the installed SDKs
-showdestinations display a list of destinations
-showTestPlans display a list of test plans
-showBuildSettings display a list of build settings and values
-showBuildSettingsForIndex display build settings for the index service
-list lists the targets and configurations in a project, or the schemes in a workspace
-find-executable NAME display the full path to executable NAME in the provided SDK and toolchain
-find-library NAME display the full path to library NAME in the provided SDK and toolchain
-version display the version of Xcode; with -sdk will display info about one or all installed SDKs
-enableAddressSanitizer YES|NO turn the address sanitizer on or off
-enableThreadSanitizer YES|NO turn the thread sanitizer on or off
-enableUndefinedBehaviorSanitizer YES|NO turn the undefined behavior sanitizer on or off
-resultBundlePath PATH specifies the directory where a result bundle describing what occurred will be placed
-resultStreamPath PATH specifies the file where a result stream will be written to (the file must already exist)
-resultBundleVersion 3 [default] specifies which result bundle version should be used
-clonedSourcePackagesDirPath PATH specifies the directory to which remote source packages are fetch or expected to be found
-derivedDataPath PATH specifies the directory where build products and other derived data will go
-archivePath PATH specifies the directory where any created archives will be placed, or the archive that should be exported
-exportArchive specifies that an archive should be exported
-exportNotarizedApp export an archive that has been notarized by Apple
-exportOptionsPlist PATH specifies a path to a plist file that configures archive exporting
-enableCodeCoverage YES|NO turn code coverage on or off when testing
-exportPath PATH specifies the destination for the product exported from an archive
-skipUnavailableActions specifies that scheme actions that cannot be performed should be skipped instead of causing a failure
-exportLocalizations exports completed and outstanding project localizations
-importLocalizations imports localizations for a project, assuming any necessary localized resources have been created in Xcode
-localizationPath specifies a path to XLIFF localization files
-exportLanguage specifies multiple optional ISO 639-1 languages included in a localization export
-xcroot specifies a path to a .xcroot to use for building and/or testing
-xctestrun specifies a path to a test run specification
-testPlan specifies the name of the test plan associated with the scheme to use for testing
-only-testing constrains testing by specifying tests to include, and excluding other tests
-only-testing:TEST-IDENTIFIER constrains testing by specifying tests to include, and excluding other tests
-skip-testing constrains testing by specifying tests to exclude, but including other tests
-skip-testing:TEST-IDENTIFIER constrains testing by specifying tests to exclude, but including other tests
-test-timeouts-enabled YES|NO enable or disable test timeout behavior
-default-test-execution-time-allowance the default execution time an individual test is given to execute, if test timeouts are enabled
-maximum-test-execution-time-allowance the maximum execution time an individual test is given to execute, regardless of the test's preferred allowance
-only-test-configuration constrains testing by specifying test configurations to include, and excluding other test configurations
-skip-test-configuration constrains testing by specifying test configurations to exclude, but including other test configurations
-testLanguage constrains testing by specifying ISO 639-1 language in which to run the tests
-testRegion constrains testing by specifying ISO 3166-1 region in which to run the tests
-resolvePackageDependencies resolves any Swift package dependencies referenced by the project or workspace
-disableAutomaticPackageResolution prevents packages from automatically being resolved to versions other than those recorded in the `Package.resolved` file
-json output as JSON (note: -json implies -quiet)
-allowProvisioningUpdates Allow xcodebuild to communicate with the Apple Developer website. For automatically signed targets, xcodebuild will create and update profiles, app IDs, and certificates. For manually signed targets, xcodebuild will download missing or updated provisioning profiles. Requires a developer account to have been added in Xcode's Accounts preference pane.
-allowProvisioningDeviceRegistration Allow xcodebuild to register your destination device on the developer portal if necessary. This flag only takes effect if -allowProvisioningUpdates is also passed.
-showBuildTimingSummary display a report of the timings of all the commands invoked during the build
-create-xcframework create an xcframework from prebuilt libraries; -help for more information.
make: *** [xcodebuild-debug-simulator] Error 64
14:31:48: The process "/usr/bin/make" exited with code 2.
Error while building/deploying project iValentina (kit: Qt 5.12.1 for iOS Simulator)
When executing step "Make"
14:31:48: Elapsed time: 00:04.
试试这个。
/Users/(user_name)/Qt5.12.1/5.12.1/ios/mkspecs/features/uikit/devices.py
更改第 53 行:
from : and "unavailable" not in runtime["availability"] \
to : and runtime["isAvailable"] \
更改第 80 行:
from : if "unavailable" not in device["availability"] \
to : if device["isAvailable"] \
你也可以试试Qt5.12.8,不会报错64
在devices.py中,simctl命令生成"devices"和"runtimes"的json数据。 json 中的某些属性已在 Xcode11 CLI 中更改。
我遇到了同样的问题。解决方案是将 Qt 从 1.12 版本升级到 1.14。
我知道这不是解决方案,但就我而言,我使用了这个解决方法并且一切正常:
注释文件中的所有内容:
/Your Qt Directory/ mkspecs / features/mac / sdk.mk