Reported: [QTBUG-48480] Qt5QuickTest should not be linked in iOS target for non-unit test program - Qt Bug Tracker <https://bugreports.qt.io/browse/QTBUG-48480>
On 26 September 2015 at 11:54, Nuno Santos <[email protected]> wrote: > That's awesome! :) > > I think this should be considered a big and must be reported. > > It made me waste a good hand of hours. > > It seems I was not the only one! ;) > > -- > Nuno Santos > > No dia 26/09/2015, às 04:14, Ben Lau <[email protected]> escreveu: > > HI Nuno, > > Thanks for you reply~ > > I just found out what is wrong with it. In my source tree, it has a > directory with 3rd party QML library. The library contains test code using > QtTest which is not included in my application, but qmlimportscanner still > treat it as a part of my program. So it add Qt5QuickTest and Qt5Test > automatically. Remove those files can solve the problem. > > I wonder should it be considered as a bug? Since it will add library not > even used in a build. > > On 26 September 2015 at 03:58, Nuno Santos <[email protected]> > wrote: > >> 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> >>> 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 >>> > [email protected] >>> > http://lists.qt-project.org/mailman/listinfo/interest >>> >>> _______________________________________________ >>> Interest mailing list >>> [email protected] >>> http://lists.qt-project.org/mailman/listinfo/interest >>> >> >> >> >
_______________________________________________ Interest mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/interest
