Move from QML Only Application to Qt Quick Application with C++



  • I have been developing my application with only QML and JavaScript. I recognize that I need to move to C++ soon and so I started that transition today. I created a new Qt Quick Application and imported all of my QML Files into it. When I try to build the Main.Pro file I receive:

    @:-1: warning: directory '/tmp/qt-stuff-6474/source/qt-everywhere-opensource-src-4.7.0/lib' following -L not found@

    @:-1: warning: directory '/tmp/qt-stuff-6474/source/qt-everywhere-opensource-src-4.7.0/lib' following -F not found@

    @:-1: error: [copydeploymentfolders] Error 1@

    Any help would be appreciated. Thanks.



  • check the console output for more detailed information.



  • @Running build steps for project Main...
    Configuration unchanged, skipping qmake step.
    Starting: "/usr/bin/make" -w
    make: Entering directory /Users/kp/Desktop/Precision Work/Harvest DU Repository/Main-build-desktop' g++ -c -pipe -g -gdwarf-2 -Wall -W -DQT_DECLARATIVE_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/local/Qt4.7/mkspecs/macx-g++ -I../Main -I/Library/Frameworks/QtCore.framework/Versions/4/Headers -I/usr/include/QtCore -I/Library/Frameworks/QtGui.framework/Versions/4/Headers -I/usr/include/QtGui -I/Library/Frameworks/QtDeclarative.framework/Versions/4/Headers -I/usr/include/QtDeclarative -I/usr/include -I../Main/qmlapplicationviewer -I. -I../Main -I. -F/Library/Frameworks -o main.o ../Main/main.cpp g++ -headerpad_max_install_names -o Main.app/Contents/MacOS/Main main.o qmlapplicationviewer.o moc_qmlapplicationviewer.o -F/Library/Frameworks -L/Library/Frameworks -framework QtDeclarative -L/tmp/qt-stuff-6474/source/qt-everywhere-opensource-src-4.7.0/lib -F/tmp/qt-stuff-6474/source/qt-everywhere-opensource-src-4.7.0/lib -framework QtScript -framework QtSvg -framework QtSql -framework QtXmlPatterns -framework QtOpenGL -framework QtNetwork -framework QtGui -framework QtCore ld: warning: directory '/tmp/qt-stuff-6474/source/qt-everywhere-opensource-src-4.7.0/lib' following -L not found ld: warning: directory '/tmp/qt-stuff-6474/source/qt-everywhere-opensource-src-4.7.0/lib' following -F not found Copying application data... cp: Repository/Main/../QML: No such file or directory make: *** [copydeploymentfolders] Error 1 make: Leaving directory/Users/kp/Desktop/Precision Work/Harvest DU Repository/Main-build-desktop'
    The process "/usr/bin/make" exited with code 2.
    Error while building project Main (target: Desktop)
    When executing build step 'Make'@



  • Seems to be some issue with the path

    bq. cp: Repository/Main/../QML: No such file or directory

    Its not able to find the above location, please verify this in your code.



  • The folder exists... and all that is in my cpp file is this:

    @#include <QtGui/QApplication>
    #include "qmlapplicationviewer.h"

    int main(int argc, char *argv[])
    {
    QApplication app(argc, argv);

    QmlApplicationViewer viewer;
    viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
    viewer.setMainQmlFile&#40;QLatin1String("QML/QMLFinal.qml"&#41;);
    viewer.showExpanded();
    
    return app.exec();
    

    }
    @



  • Check if the folder exists at this path

    @/Users/kp/Desktop/Precision Work/Harvest DU Repository/Main-build-desktop@



  • It does not. Do I need to copy it in there manually?



  • copying it manually will fix it. But you will have to add it in your .pro file or better still put QML into your resource file.



  • how do I add it to my pro file or resource file? Will doing so negate the need to move it in manually?



  • [quote author="kyleplattner" date="1293047005"]how do I add it to my pro file or resource file? Will doing so negate the need to move it in manually?[/quote]

    You can add them as OTHER_FILES to .pro



  • [quote author="kyleplattner" date="1293047005"]how do I add it to my pro file or resource file? Will doing so negate the need to move it in manually?[/quote]

    The best option is to use "resource":http://doc.qt.nokia.com/4.0/resources.html. You can use Qt Creator to add a new resource. Just check the docs for more info.



  • Seems like this is a bug that needs fixing.



  • Still having problems with this:

    ld: warning: directory '/tmp/qt-stuff-6474/source/qt-everywhere-opensource-src-4.7.0/lib' following -L not found
    ld: warning: directory '/tmp/qt-stuff-6474/source/qt-everywhere-opensource-src-4.7.0/lib' following -F not found

    Any ideas there?



  • [quote author="QtK" date="1293047938"]
    [quote author="kyleplattner" date="1293047413"]Seems like this is a bug that needs fixing. [/quote]

    No its not a bug. But yes it can be enhanced, so that Qt Creator does it automatically[/quote]



  • [quote author="kyleplattner" date="1293047844"]Still having problems with this:

    ld: warning: directory '/tmp/qt-stuff-6474/source/qt-everywhere-opensource-src-4.7.0/lib' following -L not found
    ld: warning: directory '/tmp/qt-stuff-6474/source/qt-everywhere-opensource-src-4.7.0/lib' following -F not found

    Any ideas there?[/quote]

    Its a warning right. Your app must be compiled properly now.



  • Added the .qrc and still having this error stop my build:

    @Running build steps for project Main...
    Configuration unchanged, skipping qmake step.
    Starting: "/usr/bin/make" -w
    make: Entering directory /Users/kp/Desktop/Precision Work/Harvest DU Repository/Main-build-desktop' /Developer/Tools/Qt/rcc -name Main ../Main/Main.qrc -o qrc_Main.cpp g++ -c -pipe -O2 -Wall -W -DQT_NO_DEBUG -DQT_DECLARATIVE_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/local/Qt4.7/mkspecs/macx-g++ -I../Main -I/Library/Frameworks/QtCore.framework/Versions/4/Headers -I/usr/include/QtCore -I/Library/Frameworks/QtGui.framework/Versions/4/Headers -I/usr/include/QtGui -I/Library/Frameworks/QtDeclarative.framework/Versions/4/Headers -I/usr/include/QtDeclarative -I/usr/include -I../Main/qmlapplicationviewer -I. -I../Main -I. -F/Library/Frameworks -o qrc_Main.o qrc_Main.cpp g++ -headerpad_max_install_names -o Main.app/Contents/MacOS/Main main.o qmlapplicationviewer.o moc_qmlapplicationviewer.o qrc_Main.o -F/Library/Frameworks -L/Library/Frameworks -framework QtDeclarative -L/tmp/qt-stuff-6474/source/qt-everywhere-opensource-src-4.7.0/lib -F/tmp/qt-stuff-6474/source/qt-everywhere-opensource-src-4.7.0/lib -framework QtScript -framework QtSvg -framework QtSql -framework QtXmlPatterns -framework QtOpenGL -framework QtNetwork -framework QtGui -framework QtCore ld: warning: directory '/tmp/qt-stuff-6474/source/qt-everywhere-opensource-src-4.7.0/lib' following -L not found ld: warning: directory '/tmp/qt-stuff-6474/source/qt-everywhere-opensource-src-4.7.0/lib' following -F not found Copying application data... cp: Repository/Main/../QML: No such file or directory make: *** [copydeploymentfolders] Error 1 make: Leaving directory/Users/kp/Desktop/Precision Work/Harvest DU Repository/Main-build-desktop'
    The process "/usr/bin/make" exited with code 2.
    Error while building project Main (target: Desktop)
    When executing build step 'Make'@



  • The error is same as you received above right. Please try it first and then make an attempt to post or ask - this way you will learn better.

    Also you might have added it in your .qrc, but are you loading qml file from that path.



  • When I try running the compiled application I get:

    <Unknown File>: File error for URL file:///Users/kp/Desktop/Precision Work/Harvest DU Repository/Main-build-desktop/Main.app/Contents/Resources/QML/QMLFinal.qml



  • Would someone be willing to make a Wiki on the process of going from a QML only application to a Qt Quick C++ Application. It seems like a process many people go through so it would be helpful. I have found the process really difficult and I still have not got it done yet. Thanks.



  • What version of Creator are you using? This might be something that has been recently improved -- I'm compiling Creator from source, and the conversion from QML-only to QML + C++ project seems to "just work", at least for a small test case (and in general, QML support in Creator has been progressing at a very rapid pace in recent months). I've found the Creator team very responsive to feedback -- if you have suggestions for improving the process I'd highly recommend adding a report on bugreports.qt.nokia.com.

    Regards,
    Michael



  • Qt Creator 2.0.94 (2.1.0-rc1)
    Based on Qt 4.7.1 (64 bit)

    Built on Nov 25 2010 at 01:05:40

    From revision f9ba753654



  • Try to build it in a directory without spaces in it's path. At least under windows the "Qt Quick Application" template won't work in a directory with spaces in it's path. The windows symptoms were a failure in the copydeploymentfolders step and this looks similar.

    There was a bug reported with a patch to fix this but it was closed as a "won't fix" from memory since qmake apparently doesn't handle spaces well either.



  • just to add even Symbian builds don't work when spaces are there in your directory.



  • [quote author="kyleplattner" date="1293051590"]Would someone be willing to make a Wiki on the process of going from a QML only application to a Qt Quick C++ Application. It seems like a process many people go through so it would be helpful. I have found the process really difficult and I still have not got it done yet. Thanks.[/quote]

    The SDK already comes with an example I guess.



  • I just tried building one of the pre-supplied examples:

    /Developer/Examples/Qt/tutorials/widgets

    changing nothing, and I got the same warnings. Could someone please tell me in plain English what is causing this? Running 4.7.1 on a Mac, by the way. Thanks.



  • Or you can put make argument -no-copy in qtcreator



  • [quote author="BrEaDFace" date="1311069067"]Or you can put make argument -no-copy in qtcreator[/quote]

    Thanks, the -no-copy argument worked. Interesting how every Example project(at least QML examples) have this problem and they didn't make sure that they compile right.
    Using QtCreator 2.5.2 with Qt 4.8.1

    Btw, if Shadow Build is activated this problem doesn't appear.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.