[Interest] Qt 5.5 for ios: frameworks support seems to be broken
Nuno Santos
nunosantos at imaginando.pt
Fri Jul 10 09:34:20 CEST 2015
Two more small experiments.
- Exchanging Parse to Parse1 leads to a “Couldn’t find framework”, but it doesn’t convert into -> -framework “”
- A new Qt project doesn’t have the same problem...
I have already been looking for typos on the qmake but couldn’t find any.
This is the qmake file without the headers, sources and windows and macx cases:
include(deployment.pri)
include(../shared/shared.pri)
QT += qml quick purchasing
QT -= gui widgets
android: QT+=androidextras
DEFINES+=VERSION=\\\"1.1.0\\\"
TEMPLATE = app
TARGET = "LK"
CONFIG(release, debug|release): DEFINES += QT_NO_DEBUG_OUTPUT
MOC_DIR = .build/moc
UI_DIR = .build/ui
OBJECTS_DIR = .build/obj
DESTDIR = ./bin
RESOURCES += qml.qrc
ios {
QMAKE_INFO_PLIST = ios/Info.plist
HEADERS += LKAppDelegate.h \
LKAppDelegateInterface.h \
PGMidi/PGMidi.h \
PGMidi/PGMidiAllSources.h \
PGMidi/PGMidiFind.h \
PGMidi/PGArc.h \
PGMidi/IOSVersionDetection.h
OBJECTIVE_SOURCES += LKAppDelegate.mm \
LKCoreMidiManager.mm \
LKBridgeBrowser.mm \
PGMidi/PGMidi.mm \
PGMidi/PGMidiAllSources.mm \
PGMidi/PGMidiFind.mm
INCLUDEPATH += frameworks/Parse.framework/Headers
INCLUDEPATH += frameworks/ParseFacebookUtils.framework/Headers
INCLUDEPATH += frameworks/Bolts.framework/Headers
INCLUDEPATH += $$PWD/ios/gctsdk
LIBS += $$PWD/ios/gctsdk/libGoogleConversionTracking.a
LIBS += -framework Parse -framework Bolts -framework CoreMidi -framework AudioToolbox -framework MobileCoreServices -framework CoreLocation -framework CFNetwork -framework AdSupport
}
OTHER_FILES += Info.plist \
android/AndroidManifest.xml \
android/src/com/imaginando/lk/LKActivity.java \
android/src/com/imaginando/lk/LKBridgeBrowser.java \
android/src/com/imaginando/lk/LKMidiManager.java \
android/src/com/imaginando/lk/LKApplication.java
ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android
> On 10/07/2015, at 07:55, Nuno Santos <nunosantos at imaginando.pt> wrote:
>
> Curiously, it seems that qmake whipes the reference to Parse framework. Whenever -framework Parse is referenced, it removes Parse.
>
> Before -framework Bolts there was -framework Parse, if I move the -framework Parse after the Bolts, then the next one will have problems.
>
> If I remove the -frameworks Parse I will obviously have undefined references to some Parse functions and i’m having a couple others that I still don’t know where they come from:
>
> Undefined symbols for architecture armv7:
> "_OBJC_CLASS_$_XCTestCase", referenced from:
> _OBJC_CLASS_$_QtTestLibWrapper in libQt5Test_debug.a(qxctestlogger.o)
> _OBJC_CLASS_$_QtTestLibTest in libQt5Test_debug.a(qxctestlogger.o)
> "_OBJC_CLASS_$_XCTestSuite", referenced from:
> objc-class-ref in libQt5Test_debug.a(qxctestlogger.o)
> _OBJC_CLASS_$_QtTestLibTests in libQt5Test_debug.a(qxctestlogger.o)
> "_OBJC_CLASS_$_XCTestDriver", referenced from:
> objc-class-ref in libQt5Test_debug.a(qxctestlogger.o)
> "_OBJC_METACLASS_$_XCTestSuite", referenced from:
> _OBJC_METACLASS_$_QtTestLibTests in libQt5Test_debug.a(qxctestlogger.o)
> "_OBJC_CLASS_$_XCTestProbe", referenced from:
> objc-class-ref in libQt5Test_debug.a(qxctestlogger.o)
> "_OBJC_CLASS_$_Parse", referenced from:
> objc-class-ref in LKAppDelegate.o
> "_OBJC_CLASS_$_PFPush", referenced from:
> objc-class-ref in LKAppDelegate.o
> "_OBJC_METACLASS_$_XCTestCase", referenced from:
> _OBJC_METACLASS_$_QtTestLibWrapper in libQt5Test_debug.a(qxctestlogger.o)
> _OBJC_METACLASS_$_QtTestLibTest in libQt5Test_debug.a(qxctestlogger.o)
> "_OBJC_CLASS_$_PFInstallation", referenced from:
> objc-class-ref in LKAppDelegate.o
>
> ** BUILD FAILED **
>
> Any ideas?
>
> Thanks,
>
> Nuno
>
>> On 10/07/2015, at 01:05, Thiago Macieira <thiago.macieira at intel.com> wrote:
>>
>> On Friday 10 July 2015 00:43:48 Nuno Santos wrote:
>>> -u _qt_registerPlatformPlugin -framework -framework Bolts
>>
>> There's one extra -framework there, so this is telling the linker to link to
>> framework "-framework" and then use a local file called "Bolts" as input
>> object.
>>
>> If you run qmake with the -d -d options, you'll see how it processes. Search
>> for what came before that double -framework and you'll find out what was the
>> framework that got dropped.
>>
>> If you look for the first occurrence of "-framework -framework", you'll find the
>> place where the framework got dropped or failed to be added.
>> --
>> Thiago Macieira - thiago.macieira (AT) intel.com
>> Software Architect - Intel Open Source Technology Center
>>
>> _______________________________________________
>> Interest mailing list
>> Interest at qt-project.org
>> http://lists.qt-project.org/mailman/listinfo/interest
>
> _______________________________________________
> Interest mailing list
> Interest at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
More information about the Interest
mailing list