Error: Compiling legacy Souce code



  • Hi guys

    Have heard about "antic" software then I have one.:).
    I have a source code for a legacy application that I want to add few functionalities such write to file and then use it. The application was created using QtCreator in 2011-04-13 but I don't know which version. I am using QtCreator 2.5.0.
    When I run qmake, there is no error but I build the project, it output error related to missing header file which I believe that they are legacy header files and are not supported by version 2.5.0. Each time there was only 1 or 2 errors which encourage me to search for the missing files on the net then copy and paste. Then each time a new error in and after a while, this seemed a boring and mammoth task .

    I got 4 questions:

    1- Does QtCreator has its built in header library which is dependent on the QtCreator version or the defaults header files are picked from the Qt installed version?
    2- What is the link between the Qtcreator version and the Qt version ?
    3- Any idea which which QtCreator version was used to create project dated on 13/04/2011.
    3- I found this website (https://doc.qt.io/archives/3.3/headers.html) which has the legacy header file and it is hug task to copy and paste individual files. Is there a folder or Git that contain all there files that I can download all of them at once?

    Thank you in advance.

    NB:
    Example of the used header files:

    #include "QtGui/qprinter.h"
    #include "QtGui/qprintengine.h"
    #include "QtGui/qpaintengine.h"
    #include "QtCore/qt_windows.h"
    #include "private/qpaintengine_alpha_p.h"



  • @robrob said in Error: Compiling legacy Souce code:

    Hi guys

    Have heard about "antic" software then I have one.:).
    I have a source code for a legacy application that I want to add few functionalities such write to file and then use it. The application was created using QtCreator in 2011-04-13 but I don't know which version. I am using QtCreator 2.5.0.
    When I run qmake, there is no error but I build the project, it output error related to missing header file which I believe that they are legacy header files and are not supported by version 2.5.0. Each time there was only 1 or 2 errors which encourage me to search for the missing files on the net then copy and paste. Then each time a new error in and after a while, this seemed a boring and mammoth task .

    You got a pretty old Qt creator version, I suggest to upgrade to version 4.5

    I got 4 questions:

    1- Does QtCreator has its built in header library which is dependent on the QtCreator version or the defaults header files are picked from the Qt installed version?

    No

    2- What is the link between the Qtcreator version and the Qt version ?

    Qt creator is an IDE and uses Qt library version as well. However, this is independent of the version you use for compiling your applciations. Basically you can use at least Qt 4 and Qt 5 with the same Qt creator version without problems. The Qt version for application is determined through the tool chain you have set up.

    3- Any idea which which QtCreator version was used to create project dated on 13/04/2011.

    You can dig through this or the archive here, but I consider as irrelvant. However, it seemed to be one of the very early version even version 1.

    3- I found this website (https://doc.qt.io/archives/3.3/headers.html) which has the legacy header file and it is hug task to copy and paste individual files. Is there a folder or Git that contain all there files that I can download all of them at once?

    The most important is that what the actual Qt library version was used for your application. Was it Qt 3 or Qt 4? I do not think that Qt 5 was already in place around there.

    Which is the Qt lib version you are using now?

    Thank you in advance.

    NB:
    Example of the used header files:

    #include "QtGui/qprinter.h"
    #include "QtGui/qprintengine.h"
    #include "QtGui/qpaintengine.h"
    #include "QtCore/qt_windows.h"
    #include "private/qpaintengine_alpha_p.h"



  • Hi koahnig,
    Thank you for the reply.
    "You gat a pretty old Qt creator version, I suggest to upgrade to version 4.5"

    Sorry the QtCreator version was 4.5.0 intead of 2.5.0.
    When I used this version there were lot of error related to header files missing. The application used headers file that are not supported by the Creator 4.5.0. I looked at these header and they are not user header but the part the IDE package, I think. This why I am looking for Creator version that created the project back in 2011.

    "The most important is that what the actual Qt library version was used for your application. Was it Qt 3 or Qt 4? I do not think that Qt 5 was already in place around there."

    It is hard to tell which Qt version. I think it is Qt 4.7.4 and MINGW530_32. I agree, it wasn't Qt 5.

    "Which is the Qt lib version you are using now?"
    I am trying different QtCreator and see if the error disappreaded. This morning, I tried QtCreator 2.3.0 which its About DialogBox info show that is based on Qt 4.7.4 and it was built on 31/08/2018. So I installed Qt 4.7.4 and I compiled the project using the creator 2.5.0.
    This time all the error related to missing header file disappeared.
    I got only:
    Warning message : Qt: Untested Windows version 6.2 detected!
    and Error messages:

    **g++: ../Build/debug/libsa430dbg.a: No such file or directory

    g++: C:/Qt/4.7.4/lib/libqwtd.a: No such file or directory**

    It seems to me that this Creator version has the built in header files and this is why there is no error related to missing header or maybe I did spoke too soon.

    The other two error, I haven't the slight clue.
    Any idea?


  • Qt Champions 2017

    Hi @robrob,

    once again: Qt Creator has nothing todo with the header files needed for building your application.

    Important it the Qt version. And as @koahnig already said, you can use an older Qt version together with a newer Qt Creator. E.g. I'm using Qt Creator 4.5 together with Qt 4.8.2 and Qt 5.9.4 on Windows 7.

    Which Windows version are you using?



  • @robrob said in Error: Compiling legacy Souce code:

    I got only:
    Warning message : Qt: Untested Windows version 6.2 detected!

    What is that?

    I recommend that you are installing Qt creator with online installer from there either commercial or open source version.

    The online installer forces you to use the newest version of Qt creator. With the online installer you should be able to install also older Qt lib versions with the correct compiler version. At least you will have something which should work.

    AFAIK you should be able to install Qt 4.7 and recompile. Typically all is setup correctly.



  • Hi Koahnig,
    Thank you for the reply.

    I am suing Window10 64-bit.


  • Lifetime Qt Champion

    Hi,

    This version of Windows wasn’t even in development when 4.7 was released.

    You should consider using 4.8.7 which is the latest and last of the Qt 4 series if you can’t upgrade to Qt 5.



  • Sorry, I meant to say hi aha_1980



  • @aha_1980

    Important it the Qt version. And as @koahnig already said, you can use an older Qt version together with a newer Qt Creator. E.g. I'm using Qt Creator 4.5 together with Qt 4.8.2 and Qt 5.9.4 on Windows 7.

    How do you set Qt Creator to work with one or more Qt version ?


  • Lifetime Qt Champion

    Hi,

    You setup the Kits, then you can choose which one you want to use with your project.



  • Hi SGaist and thank you for the reply.

    You setup the Kits, then you can choose which one you want to use with your project.

    Is it by going to Option -->Qt4 --->Qt version tab---> add
    then choose the qmake relative the wanted Qt version.



  • @SGaist

    You should consider using 4.8.7
    Does this version include these header files https://doc.qt.io/archives/3.3/headers.html?


  • Lifetime Qt Champion

    If your Qt version is not already listed then yes, first add it and then create a Kit using it.

    Take a look at the Qt Creator documentation on the subject.



  • @SGaist
    About The Qt Creator version and the Qt version. When I pressed Help-->About Qt Creator to see which version I have the following for version 2.3.0:
    "Version 2.3.0 based on Qt 4.7.4 (32bits)"
    This made me believe that this version of Qt Creator work only with Qt 4.7.4. Am I got it wrong ?


  • Lifetime Qt Champion

    Yes you are wrong.

    As already explained, Qt Creator is an IDE. What you see in the about box just tells you the version of Qt used to build Q Creator and that you would have to use if you were to build a plugin to be used by that version of Qt Creator.

    It doesn’t matter for the various versions of Qt you want to use to build your applications/libraries.



  • @SGaist
    Thank you SGaist for clearing this up of my mind , that's one confusion out of the way!



  • @SGaist

    For example if i use the following in my file

    #include <QMessageBox>
    #include <QColor>
    #include <QColorDialog>
    #include <QUrl>
    #include <QDesktopServices>

    Does the Qt contain these header file or where they live because they are not user defined header?


  • Qt Champions 2017

    @robrob said in Error: Compiling legacy Souce code:

    Does the Qt contain these header file or where they live because they are not user defined header?

    Yeah, they are part of Qt, and also the corresponding shared libraries.

    You can easily find them by looking into your Qt installation directory.



  • Thanks guys for the help.
    I think now I understand the principle of Qt and Qt Creator.
    So the build process doesn't generate error related to legacy include files.
    However there is error which I don't have a clue what is about.
    Below is the output of the compiler:

    Running build steps for project SA430Gui...
    Configuration unchanged, skipping qmake step.
    Starting: "C:\Qt\qtcreator-2.2.0\mingw\bin\mingw32-make.exe"
    c:\qt\4.7.4\bin\qmake.exe -spec c:\Qt\4.7.4\mkspecs\win32-g++ -o Makefile ..\Src\SA430Gui.pro
    Qt: Untested Windows version 6.2 detected!
    Qt: Untested Windows version 6.2 detected!
    Qt: Untested Windows version 6.2 detected!
    Qt: Untested Windows version 6.2 detected!
    Qt: Untested Windows version 6.2 detected!
    Qt: Untested Windows version 6.2 detected!
    Qt: Untested Windows version 6.2 detected!
    C:/Qt/qtcreator-2.2.0/mingw/bin/mingw32-make -f Makefile.Debug
    mingw32-make[1]: Entering directory C:/Users/rabmerab/Documents/Qt projects/SA430.Gui1/V2.0/SA430Gui-build-desktop' g++ -mthreads -Wl,-subsystem,windows -o debug\SA430GuiDbg.exe object_script.SA430GuiDbg.Debug -L"c:\Qt\4.7.4\lib" -lmingw32 -lqtmaind debug\Manifest_res.o ../Build/debug/libsa430dbg.a C:/Qt/qwt-6.0.0/lib/libqwtd.a -lQtXmld4 -lQtGuid4 -lQtCored4 mingw32-make[1]: Leaving directoryC:/Users/rabmerab/Documents/Qt projects/SA430.Gui1/V2.0/SA430Gui-build-desktop'
    g++: ../Build/debug/libsa430dbg.a: No such file or directory
    g++: C:/Qt/qwt-6.0.0/lib/libqwtd.a: No such file or directory
    mingw32-make[1]: *** [debug\SA430GuiDbg.exe] Error 1
    mingw32-make: *** [debug] Error 2
    The process "C:\Qt\qtcreator-2.2.0\mingw\bin\mingw32-make.exe" exited with code 2.
    Error while building project SA430Gui (target: Desktop)
    When executing build step 'Make'

    END of Compiler output.
    The two errors are highlighted in bold font
    There is no much information why it failed.

    The config part (from the SA430GUI.pro) are below:

    CONFIG(debug, debug|release){
    LIBS += ../Build/debug/libsa430dbg.a
    LIBS += C:/Qt/qwt-6.0.0/lib/libqwtd.a
    TARGET = SA430GuiDbg
    }else{
    LIBS += ../Build/release/libsa430.a
    LIBS += C:/Qt/qwt-6.0.0/lib/libqwt.a
    TARGET = SA430Gui
    }

    Just to remind that this an open source code that was given to me. It is a legacy code (2011).

    In desperate help please!
    NB: I don't mind sharing the source code with anyone who want to look at it.


  • Moderators

    @robrob said in Error: Compiling legacy Souce code:

    g++: ../Build/debug/libsa430dbg.a: No such file or directory
    g++: C:/Qt/qwt-6.0.0/lib/libqwtd.a: No such file or directory

    This looks ugly :-)
    Especially LIBS += C:/Qt/qwt-6.0.0/lib/libqwt.a is really, well, bad.
    Do you have these files in this directories?



  • Especially LIBS += C:/Qt/qwt-6.0.0/lib/libqwt.a is really, well, bad.
    Do you have these files in this directories?

    I searched for them and I couldn't find any.
    Also the folder C:\Qt\qwt-600 doesn't have lib subfolder.
    Strange is it?



  • @robrob

    qwt is an externally library based on Qt. You need to download and compile yourself separately.
    I guess you can use a newer version, but you need to try.



  • @koahnig
    I downlaoded a qwt install file from https://sourceforge.net/projects/qwt/files/qwt/6.0.0/qwt-6.0.0.zip/download then I run the installation.
    Also I downloaded a zip file and both methods generate the same folfer structure without the lib subfolder..
    the folder are: doc, Exampes, Include and src. There is no such lib folder.
    Do you know if this lib folder exist in qwt?



  • You need to compile it, see http://qwt.sourceforge.net/qwtinstall.html



  • @robrob

    As already replied by @VRonin there is no prebuild of qwt

    It depends now which version you like to use for your application. For Qt5 are newer versions of qwt required.



  • Hi VRonin and thank you for the reply.
    I downloaded Qt-6.0.0 (because the my open souce code used this version). I used Qt Creator 2.2.1 to compiler the qwt.pro and it didn't compile. It is looking for file libqwtd.a C:\qwt-6.0.0\src..*lib*. It is the same file and the same lib folder I was looking for my self. It seem going round in circle :)
    Below is the long compiler output and the error is highlighted in bold.
    Any idea?

    Qt Creator Compiler output

    Running build steps for project qwt...
    Starting: "c:\qt\4.7.4\bin\qmake.exe" "C:\Users\rabmerab\Downloads\qwt-6.0.0 (1)\qwt-6.0.0\qwt.pro" -r -spec win32-g++
    Qt: Untested Windows version 6.2 detected!
    Reading C:/Users/rabmerab/Downloads/qwt-6.0.0 (1)/qwt-6.0.0/src/src.pro [C:/Users/rabmerab/Downloads/qwt-6.0.0 (1)/qwt-build-desktop/src]
    Reading C:/Users/rabmerab/Downloads/qwt-6.0.0 (1)/qwt-6.0.0/textengines/textengines.pro [C:/Users/rabmerab/Downloads/qwt-6.0.0 (1)/qwt-build-desktop/textengines]
    Reading C:/Users/rabmerab/Downloads/qwt-6.0.0 (1)/qwt-6.0.0/textengines/mathml/mathml.pro [C:/Users/rabmerab/Downloads/qwt-6.0.0 (1)/qwt-build-desktop/textengines/mathml]
    Reading C:/Users/rabmerab/Downloads/qwt-6.0.0 (1)/qwt-6.0.0/designer/designer.pro [C:/Users/rabmerab/Downloads/qwt-6.0.0 (1)/qwt-build-desktop/designer]
    Qt: Untested Windows version 6.2 detected!
    Qt: Untested Windows version 6.2 detected!
    Project MESSAGE: The qwtmathml library contains code of the MML Widget from the Qt solutions package.
    Project MESSAGE: Beside the Qwt license you also have to take care of its license.
    Project MESSAGE: The qwtmathml library contains code of the MML Widget from the Qt solutions package.
    Project MESSAGE: Beside the Qwt license you also have to take care of its license.
    Project MESSAGE: The qwtmathml library contains code of the MML Widget from the Qt solutions package.
    Project MESSAGE: Beside the Qwt license you also have to take care of its license.
    The process "c:\qt\4.7.4\bin\qmake.exe" exited normally.

    Starting: "C:\Qt\qtcreator-2.2.0\mingw\bin\mingw32-make.exe"
    cd src\ && C:/Qt/qtcreator-2.2.0/mingw/bin/mingw32-make -f Makefile
    mingw32-make[1]: Entering directory C:/Users/rabmerab/Downloads/qwt-6.0.0 (1)/qwt-build-desktop/src' C:/Qt/qtcreator-2.2.0/mingw/bin/mingw32-make -f Makefile.Debug all mingw32-make[2]: Entering directoryC:/Users/rabmerab/Downloads/qwt-6.0.0 (1)/qwt-build-desktop/src'
    compiling ../../qwt-6.0.0/src/qwt_abstract_scale_draw.cpp
    compiling ../../qwt-6.0.0/src/qwt_interval_symbol.cpp
    compiling ../../qwt-6.0.0/src/qwt_clipper.cpp
    compiling ../../qwt-6.0.0/src/qwt_color_map.cpp
    compiling ../../qwt-6.0.0/src/qwt_column_symbol.cpp
    compiling ../../qwt-6.0.0/src/qwt_interval.cpp
    compiling ../../qwt-6.0.0/src/qwt_dyngrid_layout.cpp
    compiling ../../qwt-6.0.0/src/qwt_math.cpp
    compiling ../../qwt-6.0.0/src/qwt_magnifier.cpp
    compiling ../../qwt-6.0.0/src/qwt_panner.cpp
    compiling ../../qwt-6.0.0/src/qwt_null_paintdevice.cpp
    compiling ../../qwt-6.0.0/src/qwt_painter.cpp
    compiling ../../qwt-6.0.0/src/qwt_picker.cpp
    compiling ../../qwt-6.0.0/src/qwt_round_scale_draw.cpp
    compiling ../../qwt-6.0.0/src/qwt_scale_div.cpp
    compiling ../../qwt-6.0.0/src/qwt_scale_draw.cpp
    compiling ../../qwt-6.0.0/src/qwt_scale_map.cpp
    compiling ../../qwt-6.0.0/src/qwt_spline.cpp
    compiling ../../qwt-6.0.0/src/qwt_text_engine.cpp
    compiling ../../qwt-6.0.0/src/qwt_text_label.cpp
    compiling ../../qwt-6.0.0/src/qwt_text.cpp
    compiling ../../qwt-6.0.0/src/qwt_event_pattern.cpp
    compiling ../../qwt-6.0.0/src/qwt_picker_machine.cpp
    compiling ../../qwt-6.0.0/src/qwt_point_3d.cpp
    compiling ../../qwt-6.0.0/src/qwt_point_polar.cpp
    compiling ../../qwt-6.0.0/src/qwt_scale_engine.cpp
    compiling ../../qwt-6.0.0/src/qwt_symbol.cpp
    compiling ../../qwt-6.0.0/src/qwt_system_clock.cpp
    compiling ../../qwt-6.0.0/src/qwt_curve_fitter.cpp
    compiling ../../qwt-6.0.0/src/qwt_legend.cpp
    compiling ../../qwt-6.0.0/src/qwt_legend_item.cpp
    compiling ../../qwt-6.0.0/src/qwt_plot.cpp
    compiling ../../qwt-6.0.0/src/qwt_plot_renderer.cpp
    compiling ../../qwt-6.0.0/src/qwt_plot_xml.cpp
    compiling ../../qwt-6.0.0/src/qwt_plot_axis.cpp
    compiling ../../qwt-6.0.0/src/qwt_plot_curve.cpp
    compiling ../../qwt-6.0.0/src/qwt_plot_dict.cpp
    compiling ../../qwt-6.0.0/src/qwt_plot_directpainter.cpp
    compiling ../../qwt-6.0.0/src/qwt_plot_grid.cpp
    compiling ../../qwt-6.0.0/src/qwt_plot_histogram.cpp
    compiling ../../qwt-6.0.0/src/qwt_plot_item.cpp
    compiling ../../qwt-6.0.0/src/qwt_plot_intervalcurve.cpp
    compiling ../../qwt-6.0.0/src/qwt_plot_spectrogram.cpp
    compiling ../../qwt-6.0.0/src/qwt_plot_spectrocurve.cpp
    compiling ../../qwt-6.0.0/src/qwt_plot_scaleitem.cpp
    compiling ../../qwt-6.0.0/src/qwt_plot_seriesitem.cpp
    compiling ../../qwt-6.0.0/src/qwt_plot_marker.cpp
    compiling ../../qwt-6.0.0/src/qwt_plot_layout.cpp
    compiling ../../qwt-6.0.0/src/qwt_plot_canvas.cpp
    compiling ../../qwt-6.0.0/src/qwt_plot_panner.cpp
    compiling ../../qwt-6.0.0/src/qwt_plot_rasteritem.cpp
    compiling ../../qwt-6.0.0/src/qwt_plot_picker.cpp
    compiling ../../qwt-6.0.0/src/qwt_plot_zoomer.cpp
    compiling ../../qwt-6.0.0/src/qwt_plot_magnifier.cpp
    compiling ../../qwt-6.0.0/src/qwt_plot_rescaler.cpp
    compiling ../../qwt-6.0.0/src/qwt_raster_data.cpp
    compiling ../../qwt-6.0.0/src/qwt_matrix_raster_data.cpp
    compiling ../../qwt-6.0.0/src/qwt_sampling_thread.cpp
    compiling ../../qwt-6.0.0/src/qwt_series_data.cpp
    compiling ../../qwt-6.0.0/src/qwt_scale_widget.cpp
    compiling ../../qwt-6.0.0/src/qwt_plot_svgitem.cpp
    compiling ../../qwt-6.0.0/src/qwt_abstract_slider.cpp
    compiling ../../qwt-6.0.0/src/qwt_abstract_scale.cpp
    compiling ../../qwt-6.0.0/src/qwt_arrow_button.cpp
    compiling ../../qwt-6.0.0/src/qwt_analog_clock.cpp
    compiling ../../qwt-6.0.0/src/qwt_compass.cpp
    compiling ../../qwt-6.0.0/src/qwt_compass_rose.cpp
    compiling ../../qwt-6.0.0/src/qwt_counter.cpp
    compiling ../../qwt-6.0.0/src/qwt_dial.cpp
    compiling ../../qwt-6.0.0/src/qwt_dial_needle.cpp
    compiling ../../qwt-6.0.0/src/qwt_double_range.cpp
    compiling ../../qwt-6.0.0/src/qwt_knob.cpp
    compiling ../../qwt-6.0.0/src/qwt_slider.cpp
    compiling ../../qwt-6.0.0/src/qwt_thermo.cpp
    compiling ../../qwt-6.0.0/src/qwt_wheel.cpp
    moc ....\qwt-6.0.0\src\qwt_dyngrid_layout.h
    Qt: Untested Windows version 6.2 detected!
    compiling moc/moc_qwt_dyngrid_layout.cpp
    moc ....\qwt-6.0.0\src\qwt_magnifier.h
    Qt: Untested Windows version 6.2 detected!
    compiling moc/moc_qwt_magnifier.cpp
    moc ....\qwt-6.0.0\src\qwt_panner.h
    Qt: Untested Windows version 6.2 detected!
    compiling moc/moc_qwt_panner.cpp
    moc ....\qwt-6.0.0\src\qwt_picker.h
    Qt: Untested Windows version 6.2 detected!
    compiling moc/moc_qwt_picker.cpp
    moc ....\qwt-6.0.0\src\qwt_text_label.h
    Qt: Untested Windows version 6.2 detected!
    compiling moc/moc_qwt_text_label.cpp
    moc ....\qwt-6.0.0\src\qwt_legend.h
    Qt: Untested Windows version 6.2 detected!
    compiling moc/moc_qwt_legend.cpp
    moc ....\qwt-6.0.0\src\qwt_legend_item.h
    Qt: Untested Windows version 6.2 detected!
    compiling moc/moc_qwt_legend_item.cpp
    moc ....\qwt-6.0.0\src\qwt_plot.h
    Qt: Untested Windows version 6.2 detected!
    compiling moc/moc_qwt_plot.cpp
    moc ....\qwt-6.0.0\src\qwt_plot_renderer.h
    Qt: Untested Windows version 6.2 detected!
    compiling moc/moc_qwt_plot_renderer.cpp
    moc ....\qwt-6.0.0\src\qwt_plot_canvas.h
    Qt: Untested Windows version 6.2 detected!
    compiling moc/moc_qwt_plot_canvas.cpp
    moc ....\qwt-6.0.0\src\qwt_plot_panner.h
    Qt: Untested Windows version 6.2 detected!
    compiling moc/moc_qwt_plot_panner.cpp
    moc ....\qwt-6.0.0\src\qwt_plot_picker.h
    Qt: Untested Windows version 6.2 detected!
    compiling moc/moc_qwt_plot_picker.cpp
    moc ....\qwt-6.0.0\src\qwt_plot_zoomer.h
    Qt: Untested Windows version 6.2 detected!
    compiling moc/moc_qwt_plot_zoomer.cpp
    moc ....\qwt-6.0.0\src\qwt_plot_magnifier.h
    Qt: Untested Windows version 6.2 detected!
    compiling moc/moc_qwt_plot_magnifier.cpp
    moc ....\qwt-6.0.0\src\qwt_sampling_thread.h
    Qt: Untested Windows version 6.2 detected!
    compiling moc/moc_qwt_sampling_thread.cpp
    moc ....\qwt-6.0.0\src\qwt_scale_widget.h
    Qt: Untested Windows version 6.2 detected!
    compiling moc/moc_qwt_scale_widget.cpp
    moc ....\qwt-6.0.0\src\qwt_abstract_slider.h
    Qt: Untested Windows version 6.2 detected!
    compiling moc/moc_qwt_abstract_slider.cpp
    moc ....\qwt-6.0.0\src\qwt_analog_clock.h
    Qt: Untested Windows version 6.2 detected!
    compiling moc/moc_qwt_analog_clock.cpp
    moc ....\qwt-6.0.0\src\qwt_compass.h
    Qt: Untested Windows version 6.2 detected!
    compiling moc/moc_qwt_compass.cpp
    moc ....\qwt-6.0.0\src\qwt_counter.h
    Qt: Untested Windows version 6.2 detected!
    compiling moc/moc_qwt_counter.cpp
    moc ....\qwt-6.0.0\src\qwt_dial.h
    Qt: Untested Windows version 6.2 detected!
    compiling moc/moc_qwt_dial.cpp
    moc ....\qwt-6.0.0\src\qwt_knob.h
    Qt: Untested Windows version 6.2 detected!
    compiling moc/moc_qwt_knob.cpp
    moc ....\qwt-6.0.0\src\qwt_slider.h
    Qt: Untested Windows version 6.2 detected!
    compiling moc/moc_qwt_slider.cpp
    moc ....\qwt-6.0.0\src\qwt_thermo.h
    Qt: Untested Windows version 6.2 detected!
    compiling moc/moc_qwt_thermo.cpp
    moc ....\qwt-6.0.0\src\qwt_wheel.h
    Qt: Untested Windows version 6.2 detected!

    compiling moc/moc_qwt_wheel.cpp

    linking ....\qwt-6.0.0\lib\qwtd.dll
    mingw32-make[2]: Leaving directory C:/Users/rabmerab/Downloads/qwt-6.0.0 (1)/qwt-build-desktop/src' mingw32-make[1]: Leaving directoryC:/Users/rabmerab/Downloads/qwt-6.0.0 (1)/qwt-build-desktop/src'

    g++: (1)\qwt-6.0.0\src..\lib\libqwtd.a: No such file or directory
    mingw32-make[2]: *** [....\qwt-6.0.0\lib\qwtd.dll] Error 1
    mingw32-make[1]: *** [debug-all] Error 2
    mingw32-make: *** [sub-src-make_default-ordered] Error 2
    The process "C:\Qt\qtcreator-2.2.0\mingw\bin\mingw32-make.exe" exited with code 2.

    Error while building project qwt (target: Desktop)
    When executing build step 'Make'



  • @VRonin
    I downloaded the latest qwt 6.1.3 and I followed the instruction that you mentioned.
    I used command line (CMD) and at the end it failed:

    What i did :

    cd C:\qwt-6.1.3

    qmake qwt.pro -o MakeFile
    Info: creating stash file C:\qwt-6.1.3.qmake.stash

    Then I can see that the file MakeFile was created
    then I typed:

    C:\qwt-6.1.3>Mingw32-make -f MakeFile

    then it compile all the files OK until it get to the state below:

    generating moc/moc_predefs.h
    g++: CreateProcess: No such file or directory
    Mingw32-make[2]: *** [moc/moc_predefs.h] Error 1
    Mingw32-make[2]: Leaving directory C:/qwt-6.1.3/src' Mingw32-make[1]: *** [release-all] Error 2 Mingw32-make[1]: Leaving directoryC:/qwt-6.1.3/src'
    Mingw32-make: *** [sub-src-make_first-ordered] Error 2

    I don't know what went wrong. However, a Lib folder was created but was empty.
    Any idea?



  • I just tried and it's extremely easy.

    1. download and unpack the source from https://sourceforge.net/projects/qwt/files/qwt/
    2. open a developer console and cd to the folder where you unpacked the source
    3. call qmake on the command line
    4. call make on the command line (nmake for MSVC mingw32-make for mingw)
    5. call make install on the command line (nmake install for MSVC mingw32-make install for mingw)
    6. The library will be ready for you in /usr/local/qwt-x.x.x or, on Windows, C:/Qwt-x.x.x


  • @robrob

    When looking at some of your problems, I am wondering if there is a problem with your installation of Qt creator and Qt libs.

    Did you follow the advice far above and did a fresh installation using the online installer?
    This should give a fresh and complete setup of Qt creator and Qt libs. There you can check step by step with the examples that components are working.

    Presumably there are some mix due to installation of different Qt creator versions and possibly also some Qt lib versions. At least that would explain your trouble to compile qwt.



  • I started with fresh and the latest qt online installation and because it didn't work, I went and I tried diffirent version.
    As the source code was created in 13/04/2014, I tried different Qt and Qt creator down to version 2.2.1 whch seem resolve the issue of the legacy header file.
    This what I got installed in my PC:
    Qt version: 4.0.0, 4.7.4 and 5.1
    Qt Creator version: 4.5.1, 2.4.1,2.3.0 and 2.2.1.
    The source code was created using Qt 4.7.4 and also uses qwt 6.0.0. I don't know about the Qt Creator version but I worked it out ( using the source code date) to be version 2.2.1.
    Does having many different vesion causes issues ?
    I got Windows 10 64 bit. The Qt Creator is 32 bit. Can this be a problem?

    I may try to un-install everything and try fresh.



  • @robrob said in Error: Compiling legacy Souce code:

    Does having many different vesion causes issues ?

    Many Qt lib versions do not create a problem.

    I got Windows 10 64 bit. The Qt Creator is 32 bit. Can this be a problem?

    No. I have win10 64 bit and standard Qt creator 32 bit V4.5.1 as well. And definitely not the problems you have. And I am using also qwt, but newer versions because of Qt5.

    I may try to un-install everything and try fresh.

    That is highly recommended. With the online installer you can install only one Qt creator version, which is completely sufficient. Online installer helps you slao to find the right MinGW compiler which you need to install to work with the Qt libs version.

    Note, the online installer is installing typically Qt libs under c:/Qt/5.4.2 or similar while the creator is installed under c:/Qt/tools. Best advice is not to mess around with this.



  • Hi Koahnig and thank you for the reply.

    That is highly recommended. With the online installer you can install only one Qt creator version, which is completely sufficient. Online installer helps you slao to find the right MinGW compiler which you need to install to work with the Qt libs version

    I tried to compile the qwt with Qt Creator 4.5.1 ( with Qt 4.7.4) which I think it is the latest version and it failed. Then I tried with version 2.4.1 ( with Qt 4.7.4) and it worked ( only few warining messages). Now I got the lib folder.
    It seem to me that any project has to be opened or compiled by the Qt Creator version which created the project in the first place, thus using the latest Qt Creater version to open an old or legacy source code would fail compilaton. This is what I experienced so far but then I just started using Qt so it is too early for me. Please correct me if I am wrong.


  • Qt Champions 2017

    @robrob said in Error: Compiling legacy Souce code:

    It seem to me that any project has to be opened or compiled by the Qt Creator version which created the project in the first place, thus using the latest Qt Creater version to open an old or legacy source code would fail compilaton.

    No. You don't even need Creator to build a QMake project. Of course you need to set up suitable compilers, library version, debuggers etc. for the build.

    Please correct me if I am wrong.

    You are.


  • Moderators

    @robrob said in Error: Compiling legacy Souce code:

    I tried to compile the qwt with Qt Creator

    You don't compile with QtCreator, QtCreator is an IDE not a compiler. You need to make sure your environment is set up correctly (compiler, Qt).



  • Hi Jsulm,
    When I say compile, I mean build.



  • @robrob

    What we are trying to tell you is that Qt creator is an IDE (Integrated Deveopment Environment). This is basically an editor with the capability to launch other programs.

    When you are making a build through creator it is nothing else than opening command line on windows and calling qmake for the specific pre-build you have chosen. When you have 10 different Qt lib versions on your PC, you have 10 different tool chains with 10 associated qmakes. Therefore, you can change in between the tool chain and compile (build) with different compilers and Qt libs.

    qmake accesses some setup configuration files indicating what the compiler used for the build was and therefore, it will use the appropriate compiler.

    Qt header files are part of Qt libs and go along with them. The same for QWT, also moc and other stuff. There is apparently an issue with the setup of your Qt libraries and teh associated tools. Changing to older versions of Qt creator does little if nothing change.



  • @koahnig
    What we are trying to tell you is that Qt creator is an IDE (Integrated Deveopment Environment).
    Ok, I see. I knew that bit.
    Most of the time I use the IDE to build the project because it is more convinent. For example Microsoft Visual Studio.
    I am not familiar with using the compiler directlty. I found it hard to set the compiler parameters. This transparent when I use IDE.
    Is it easy to use the compiler and the linker directly ?



  • @robrob

    It is not so hard. However, I have not done in real work for a long time.

    When you have followed instructions to build QWT, you are calling qmake that is already the lowest you should get.

    Using Qt creator helps to set up parameters and that is the best you can do. Especially when you do not want to bother about the details. This all shall make the work easier. You basically have a couple of different layers, which can be called independently, but all requires a special syntax.

    The IDE is helping to organize all, but that's it. Standard headers are part of the compiler as it has always been and always will be. Qt headers are part of Qt. QWT header are part of QWT.

    So all this are different tools. Only some stupid examples.
    When you are trying to eat a steak, but you have only a spoon, you typically got a significant problem. It does not matter when you have the spoon in the right or left hand. A fork and a steak knife are the proper tools and typically some conventions how to use.
    When you are changing Qt creator versions it is similar to change the spoon from left to right hand.


  • Moderators

    @robrob You don't need to call the compiler directly. If it is a qmake based project you simply do:

    cd PATH_TO_QWT
    qmake
    make
    make install
    


  • cd PATH_TO_QWT
    qmake
    make
    make install*

    I tried that but it didn't work then I tried Qt Creator 2.4.1 and it did build and generate the lib folder with its *.dll library.

    If it is a qmake based project

    How can you tell if it is qmake project or other project?
    Is qmake a compiler and Mingw32-make a linker?
    I can see that the creator call qmake first then call ming32-make and at the end the . exe is generated.


Log in to reply
 

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