I am migrating a mobile project from Qt 5.14.2 to Qt6.3.1. There was no such problem when using Qt 5.14.2.
after executing this command
$qt_root/ios/bin/qmake \
$proFile \
-r -spec macx-ios-clang \
CONFIG+=release \
CONFIG+=iphoneos \
CONFIG+=development \
“ENTITLEMENTS=$entitlementsFile” \
“INFO_PLIST=$plistFile” \
“BUNDLE_PREFIX=com.xxxxxx” \
“BUNDLE_IDENTIFIER=com.xxxxxx.xxxxxx”
Generated MakeFile and project.pbxproj contain incorrect paths to the qt libraries. The incorrect path starts with Users/qt/work/qt/. This path is missing on the mac.
MakeFile contains both correct and incorrect library paths. At the same time, all libraries are in the qt folder according to their standard paths.
Part of the MakeFile (inserted line breaks for clarity)
LINK = /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++
LFLAGS = -stdlib=libc++ $(EXPORT_ARCH_ARGS) $(EXPORT_QMAKE_XARCH_LFLAGS) -fembed-bitcode -Wl,-rpath,@executable_path/Frameworks
LIBS = $(SUBLIBS)
-framework CoreData
-L/Users/FooBar/projects/myproject-mobile/modules/3rdparty/iOS/GoogleAnalytics/libs
-lsqlite3
-lGoogleAnalyticsServices
-framework Photos
-framework LocalAuthentication
-framework AuthenticationServices
-framework AVFoundation
-framework StoreKit
-framework UserNotifications /Users/FooBar/Qt/6.3.1/ios/plugins/webview/libqtwebview_darwin.a
-framework WebKit
/Users/FooBar/Qt/6.3.1/ios/plugins/platforms/libqios.a
/Users/FooBar/Qt/6.3.1/ios/lib/objects-Release/Gui_resources_1/.rcc/qrc_qpdf.cpp.o
/Users/qt/work/qt/qtbase/build/target/plugins/platforms/libqios.a
-framework AudioToolbox
-framework QuartzCore
-framework AssetsLibrary
/Users/FooBar/Qt/6.3.1/ios/plugins/iconengines/libqsvgicon.a
/Users/FooBar/Qt/6.3.1/ios/plugins/imageformats/libqgif.a
/Users/qt/work/qt/qtbase/build/target/plugins/imageformats/libqgif.a
/Users/FooBar/Qt/6.3.1/ios/plugins/imageformats/libqico.a
/Users/qt/work/qt/qtbase/build/target/plugins/imageformats/libqico.a ...
These paths are incorrect:
/Users/qt/work/qt/qtbase/build/target/plugins/platforms/libqios.a
/Users/qt/work/qt/qtbase/build/target/plugins/imageformats/libqgif.a
/Users/qt/work/qt/qtbase/build/target/plugins/imageformats/libqico.a
Part of the project.pbxproj
OTHER_LDFLAGS = (
"-stdlib=libc++",
"-Wl,-rpath,@executable_path/Frameworks",
"-L/Users/FooBar/projects/myproject-mobile/modules/3rdparty/iOS/GoogleAnalytics/libs",
"-lsqlite3",
"/Users/qt/work/qt/qtbase/build/target/plugins/platforms/darwin/libqiosnsphotolibrarysupport.a",
"/Users/qt/work/qt/qtbase/build/target/plugins/platforms/libqios.a",
"-framework",
"AssetsLibrary",
"/Users/qt/work/qt/qtbase/build/target/plugins/imageformats/libqgif.a",
"/Users/qt/work/qt/qtbase/build/target/plugins/imageformats/libqico.a",
"/Users/qt/work/qt/qtbase/build/target/plugins/imageformats/libqjpeg.a",
"/Users/qt/work/qt/qtdeclarative/build/target/plugins/qmltooling/libqmldbg_debugger.a",
"/Users/qt/work/qt/qtdeclarative/build/target/plugins/qmltooling/libqmldbg_inspector.a",
"/Users/qt/work/qt/qtdeclarative/build/target/plugins/qmltooling/libqmldbg_local.a",
"/Users/qt/work/qt/qtdeclarative/build/target/plugins/qmltooling/libqmldbg_messages.a",
"/Users/qt/work/qt/qtdeclarative/build/target/plugins/qmltooling/libqmldbg_native.a",
"/Users/qt/work/qt/qtdeclarative/build/target/plugins/qmltooling/libqmldbg_nativedebugger.a",
"/Users/qt/work/qt/qtdeclarative/build/target/plugins/qmltooling/libqmldbg_preview.a",
"/Users/qt/work/qt/qtdeclarative/build/target/plugins/qmltooling/libqmldbg_profiler.a",
"/Users/qt/work/qt/qtdeclarative/build/target/plugins/qmltooling/libqmldbg_quickprofiler.a",
"/Users/qt/work/qt/qtdeclarative/build/target/plugins/qmltooling/libqmldbg_server.a",
"/Users/qt/work/qt/qtdeclarative/build/target/plugins/qmltooling/libqmldbg_tcp.a",
"/Users/qt/work/qt/qtdeclarative/build/target/lib/libQt6QuickControls2.a",
"/Users/qt/work/qt/qtdeclarative/build/target/lib/libQt6Quick.a",
"/Users/qt/work/qt/qtbase/build/target/lib/libQt6OpenGL.a",
"/Users/qt/work/qt/qtbase/build/target/lib/libQt6Widgets.a",
When building a project at the Ld execution stage, I get the following errors:
clang: error: no such file or directory: ‘/Users/qt/work/qt/qtbase/build/target/plugins/platforms/darwin/libqiosnsphotolibrarysupport.a’
clang: error: no such file or directory: ‘/Users/qt/work/qt/qtbase/build/target/plugins/platforms/libqios.a’
clang: error: no such file or directory: ‘/Users/qt/work/qt/qtbase/build/target/plugins/imageformats/libqgif.a’
clang: error: no such file or directory: ‘/Users/qt/work/qt/qtbase/build/target/plugins/imageformats/libqico.a’
clang: error: no such file or directory: ‘/Users/qt/work/qt/qtbase/build/target/plugins/imageformats/libqjpeg.a’
=========================
I use this script to fix the paths
cd /Users/FooBar/projects/mobile_build/
pwd
makefile=apps/myproject-mobile/MakeFile
projectfile=apps/myproject-mobile/myproject-mobile.xcodeproj/project.pbxproj
echo =============fix make file ========================================
sed -i '' "s,/Users/qt/work/qt/qtbase/build/target/,/Users/FooBar/Qt/6.3.1/ios/,g" $makefile
sed -i '' "s,/Users/qt/work/qt/qtdeclarative/build/target/,/Users/FooBar/Qt/6.3.1/ios/,g" $makefile
sed -i '' "s,/Users/qt/work/qt/qtwebview/build/target/,/Users/FooBar/Qt/6.3.1/ios/,g" $makefile
sed -i '' "s,/Users/qt/work/qt/qt5compat/build/target/,/Users/FooBar/Qt/6.3.1/ios/,g" $makefile
echo =============fix xcode project file ========================================
sed -i '' "s,/Users/qt/work/qt/qtbase/build/target/,/Users/FooBar/Qt/6.3.1/ios/,g" $projectfile
sed -i '' "s,/Users/qt/work/qt/qtdeclarative/build/target/,/Users/FooBar/Qt/6.3.1/ios/,g" $projectfile
sed -i '' "s,/Users/qt/work/qt/qtwebview/build/target/,/Users/FooBar/Qt/6.3.1/ios/,g" $projectfile
sed -i '' "s,/Users/qt/work/qt/qt5compat/build/target/,/Users/FooBar/Qt/6.3.1/ios/,g" $projectfile