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 <nunosan...@imaginando.pt> 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 <xben...@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 <nunosan...@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.macie...@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@qt-project.org >> > http://lists.qt-project.org/mailman/listinfo/interest >> >> _______________________________________________ >> Interest mailing list >> Interest@qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest >> > > >
_______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest