[Solved] Compile Qt5 for iOS
-
Hi
I have setup qt5.2 to crosscompile for iOS6.0, but I get the following error:
'CarbonCore/DriverServices.h' file not found
Here is the configuration options I have used:
./configure -developer-build -nomake examples -nomake tests -opensource -confirm-license -xplatform macx-ios-clang -sdk iphonesimulator6.1
Should I use a lower version number for the iOS SDK ? Are there plans to support iOS 6.1 ?
I am using MacOS Lion.thanks
Bogdan -
I have been able to solve the above errors by switching to stable branch and using
/configure -developer-build -nomake examples -nomake tests -opensource -confirm-license -xplatform unsupported/macx-ios-clang
However, during the compilation process I get the following errors (qwebkit is not checked out):
QtV8: created fwd-include header(s) for <srcbase>/src/v8/../v8/ { qcalculatehash_p.h (1) }
QtV8: created version header
QtV8: created master header
QtV8: created headers.pri file
make -f Makefile.Debug all
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -c -pipe -fvisibility=hidden -fpascal-strings -fmessage-length=0 -Wno-trigraphs -Wreturn-type -Wparentheses -Wswitch -Wno-unused-parameter -Wunused-variable -Wunused-value -Wno-shorten-64-to-32 -Wno-sign-conversion -fexceptions -fasm-blocks -Wno-missing-field-initializers -Wno-missing-prototypes -Wno-implicit-atomic-properties -Wformat -Wno-missing-braces -Wno-unused-function -Wno-unused-label -Wuninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-sign-compare -Wpointer-sign -Wno-newline-eof -Wdeprecated-declarations -Winvalid-offsetof -Wno-conversion -fvisibility-inlines-hidden -Wno-non-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors -arch armv7 -g -gdwarf-2 -fPIC -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk -miphoneos-version-min=4.3 -w -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -DDARWIN_NO_CARBON -DQT_NO_CORESERVICES -DQT_NO_PRINTER -DQT_NO_PRINTDIALOG -DQT_NO_LIBUDEV -DQT_NO_EVDEV -DQT_NO_XCB -DQT_NO_XKBCOMMON -DQT_NO_CORESERVICES -DQT_BUILD_V8_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DENABLE_DEBUGGER_SUPPORT -DENABLE_VMSTATE_TRACKING -DENABLE_LOGGING_AND_PROFILING -DDEBUG -DV8_ENABLE_CHECKS -DOBJECT_PRINT -DENABLE_DISASSEMBLER -DV8_TARGET_ARCH_ARM -DUSE_EABI_HARDFLOAT=0 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I/Users/bogdan/Build/qt5/qtbase/mkspecs/unsupported/macx-ios-clang -I. -I/Users/bogdan/Build/qt5/qtbase/mkspecs/unsupported/macx-ios-clang/ios -I/Users/bogdan/Build/qt5/qtbase/include -I/Users/bogdan/Build/qt5/qtbase/include/QtV8 -I/Users/bogdan/Build/qt5/qtbase/include/QtV8/5.1.2 -I/Users/bogdan/Build/qt5/qtbase/include/QtV8/5.1.2/QtV8 -I../3rdparty/v8/src -o .obj/debug-static/accessors.o ../3rdparty/v8/src/accessors.cc
In file included from ../3rdparty/v8/src/accessors.cc:28:
In file included from ../3rdparty/v8/src/v8.h:61:
In file included from ../3rdparty/v8/src/v8utils.h:32:
In file included from ../3rdparty/v8/src/platform.h:100:
In file included from ../3rdparty/v8/src/lazy-instance.h:94:
../3rdparty/v8/src/once.h:106:7: error: no matching function for call to 'Acquire_Load'
if (Acquire_Load(once) != ONCE_STATE_DONE) {
^~~~~~~~~~~~
../3rdparty/v8/src/atomicops_internals_arm_gcc.h:132:17: note: candidate function not viable: no known conversion from 'OnceType *' (aka 'long *') to 'const volatile Atomic32 *' (aka 'const volatile int ') for 1st argument
inline Atomic32 Acquire_Load(volatile const Atomic32 ptr) {
^
In file included from ../3rdparty/v8/src/accessors.cc:28:
In file included from ../3rdparty/v8/src/v8.h:61:
In file included from ../3rdparty/v8/src/v8utils.h:32:
In file included from ../3rdparty/v8/src/platform.h:100:
In file included from ../3rdparty/v8/src/lazy-instance.h:94:
../3rdparty/v8/src/once.h:115:7: error: no matching function for call to 'Acquire_Load'
if (Acquire_Load(once) != ONCE_STATE_DONE) {
^~~~~~~~~~~~
../3rdparty/v8/src/atomicops_internals_arm_gcc.h:132:17: note: candidate function not viable: no known conversion from 'OnceType *' (aka 'long *') to 'const volatile Atomic32 *' (aka 'const volatile int ') for 1st argument
inline Atomic32 Acquire_Load(volatile const Atomic32 ptr) {
^
In file included from ../3rdparty/v8/src/accessors.cc:28:
In file included from ../3rdparty/v8/src/v8.h:65:
In file included from ../3rdparty/v8/src/objects-inl.h:38:
In file included from ../3rdparty/v8/src/elements.h:32:
In file included from ../3rdparty/v8/src/objects.h:39:
../3rdparty/v8/src/arm/constants-arm.h:33:2: error: ARM EABI support is required.
#error ARM EABI support is required.
^
In file included from ../3rdparty/v8/src/accessors.cc:28:
In file included from ../3rdparty/v8/src/v8.h:65:
In file included from ../3rdparty/v8/src/objects-inl.h:38:
In file included from ../3rdparty/v8/src/elements.h:34:
In file included from ../3rdparty/v8/src/isolate.h:44:
../3rdparty/v8/src/optimizing-compiler-thread.h:51:5: error: no matching function for call to 'NoBarrier_Store'
NoBarrier_Store(&stop_thread_, static_cast<AtomicWord>(false));
^~~~~~~~~~~~~~~
../3rdparty/v8/src/atomicops_internals_arm_gcc.h:110:13: note: candidate function not viable: no known conversion from 'volatile AtomicWord *' (aka 'volatile long *') to 'volatile Atomic32 *' (aka 'volatile int ') for 1st argument
inline void NoBarrier_Store(volatile Atomic32 ptr, Atomic32 value) {
^
4 errors generated.
make[4]: *** [.obj/debug-static/accessors.o] Error 1
make[3]: *** [debug-all] Error 2
make[2]: *** [sub-v8-make_first-ordered] Error 2
make[1]: *** [sub-src-make_first] Error 2
make: *** [module-qtjsbackend-make_first] Error 2So, what is the procedure to follow in order to gave Qt5 compiled on MacOS ?
thanks
Bogdan -
I have been able to compile with no errors by using the dev branch in qtbase module:
cd qtbase
git checkout origin/devThis link is very helpful: http://blog.qt.digia.com/blog/2013/03/05/qt-for-ios-preview/