[Interest] Qt 5.5 for ios: frameworks support seems to be broken

Nuno Santos nunosantos at imaginando.pt
Fri Sep 25 21:58:02 CEST 2015


In my case the problem was that I was linking to a framework called parse and inside the project dir there was a parse dir. For some reason that directory with the name of the framework I was linking was making the linker line to become "-framework “ invalidating all the frameworks in the line from that point onward. This didn’t happened on 5.4.1. I think something changed on qmake. I can’t tell you exactly what it was.

Try to link frameworks one by one and see which was is failing. You can also share your linker command execution line. Maybe I can spot something. 

Regards,

Nuno 

> On 25 Sep 2015, at 20:24, Ben Lau <xbenlau at gmail.com> wrote:
> 
> 
> I got similar problem after upgraded to Qt 5.5, but all frameworks are linked successfully. It only complains about the linkage with XCTestCase.
> 
> Ofcoz I didn't include any test lib in my application. And tried to clear .qmake.config and .qmake.cache , but it do not help.
> 
> I have also tried to run `qmake -d` to generate log to trace for it. However, I can't find anything to tell why Qt5QuickTest / Qt5Test are included.
> 
> Any tips to trace such kind of problem?
> 
> Undefined symbols for architecture arm64:
>   "_OBJC_METACLASS_$_XCTestCase", referenced from:
> 
>       _OBJC_METACLASS_$_QtTestLibWrapper in libQt5Test.a(qxctestlogger.o)
> 
>       _OBJC_METACLASS_$_QtTestLibTest in libQt5Test.a(qxctestlogger.o)
> 
>   "_OBJC_CLASS_$_XCTestDriver", referenced from:
> 
>       objc-class-ref in libQt5Test.a(qxctestlogger.o)
> 
>   "_OBJC_CLASS_$_XCTestCase", referenced from:
> 
>       _OBJC_CLASS_$_QtTestLibWrapper in libQt5Test.a(qxctestlogger.o)
> 
>       _OBJC_CLASS_$_QtTestLibTest in libQt5Test.a(qxctestlogger.o)
> 
>   "_OBJC_CLASS_$_XCTestSuite", referenced from:
> 
>       objc-class-ref in libQt5Test.a(qxctestlogger.o)
> 
>       _OBJC_CLASS_$_QtTestLibTests in libQt5Test.a(qxctestlogger.o)
> 
>   "_OBJC_METACLASS_$_XCTestSuite", referenced from:
> 
>       _OBJC_METACLASS_$_QtTestLibTests in libQt5Test.a(qxctestlogger.o)
> 
>   "_OBJC_CLASS_$_XCTestProbe", referenced from:
> 
> 
> On 10 July 2015 at 14:55, Nuno Santos <nunosantos at imaginando.pt <mailto: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 <mailto: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 <http://intel.com/>
> >  Software Architect - Intel Open Source Technology Center
> >
> > _______________________________________________
> > Interest mailing list
> > Interest at qt-project.org <mailto:Interest at qt-project.org>
> > http://lists.qt-project.org/mailman/listinfo/interest <http://lists.qt-project.org/mailman/listinfo/interest>
> 
> _______________________________________________
> Interest mailing list
> Interest at qt-project.org <mailto:Interest at qt-project.org>
> http://lists.qt-project.org/mailman/listinfo/interest <http://lists.qt-project.org/mailman/listinfo/interest>
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20150925/ddd56c0c/attachment.html>


More information about the Interest mailing list