Problem in debugging qt program



  • Hey everybody

    I am new in Qt and I've just written my 'hello world' program. But in the first step I have a problem with compiling my program.
    first I write:
    qmake -project
    qmake hello.pro
    and then:
    nmake
    but when I run nmake it gives me this error :
    "...
    NMAKE : fatal error U1077: "C:\Program Files\Microsoft Visual Studio 9,0\VC\bin\namek.exe"' : return code '0x2'
    Stop."

    any suggestion for solving the problem?


  • Lifetime Qt Champion

    Hi and welcome to devnet,

    You have to provide the lines before that one to see where the error actually happened



  • thanks
    this the whole error:

    Microsoft (R) Program Maintenance Utility Version 9.00.21022.08
    Copyright (C) Microsoft Corporation. All rights reserved.

        "C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\nmake.exe" -f Makef
    

    ile.Debug

    Microsoft (R) Program Maintenance Utility Version 9.00.21022.08
    Copyright (C) Microsoft Corporation. All rights reserved.

        cl -c -nologo -Zm200 -Zc:wchar_t- -Zi -MDd -GR -EHsc -W3 -w34100 -w34189
    

    -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -D
    QT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_T
    HREAD_SUPPORT -I"c:\Qt\4.8.4-VS2010\include\QtCore" -I"c:\Qt\4.8.4-VS2010\includ
    e\QtGui" -I"c:\Qt\4.8.4-VS2010\include" -I"." -I"c:\Qt\4.8.4-VS2010\include\Acti
    veQt" -I"debug" -I"c:\Qt\4.8.4-VS2010\mkspecs\default" -Fodebug\ @C:\Users\SMOTA
    M~1\AppData\Local\Temp\nm2C9F.tmp
    NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 9.0\VC\bin
    \cl.EXE"' : return code '0xc0000135'
    Stop.
    NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 9.0\VC\bin
    \nmake.exe"' : return code '0x2'
    Stop.


  • Lifetime Qt Champion

    Do you have VisualStudio 2008 installed ?



  • of course I have.

    Something may be useful for solving the problem. I added "c:\program files\microsoft visual studio 9.0\VC\bin" to the Paths. maybe I should add something more.


  • Moderators

    where do you run nmake?
    Outside of the msvc using a simple command prompt?



  • yes
    I use simple command prompt and not VS command prompt


  • Lifetime Qt Champion

    I might be wrong, but I think that using a MSVC2010 Qt with VS2008 might be problematic


  • Moderators

    This is probably the reason for your problem.
    When you are compiling Qt libs with nmake and msvc compiler you have to start the command prompt through VS. It will not work with the standard command prompt. VS is setting apparently something in the environment.

    I have never tried, but I would guess that the same rules apply when use nmake directly. Give it a try.
    AFAIK there is no way around the VS command prompt.


  • Moderators

    [quote author="SGaist" date="1376077649"]I might be wrong, but I think that using a MSVC2010 Qt with VS2008 might be problematic[/quote]
    That is for sure too. You cannot mix different msvc versions.


  • Lifetime Qt Champion

    [quote author="koahnig" date="1376077876"]
    I have never tried, but I would guess that the same rules apply when use nmake directly. Give it a try.
    AFAIK there is no way around the VS command prompt. [/quote]

    You can if you setup the environment by hand, it can even work from an msys prompt (i.e. installed with git for windows) but that's not for the faint hearted.

    IIRC, there are several batch files you can use to setup a command prompt. They can be found in the VS install, or the quick way is to check the properties of the various command prompt shortcut in the Start menu


  • Moderators

    [quote author="SGaist" date="1376078503"]
    [quote author="koahnig" date="1376077876"]
    I have never tried, but I would guess that the same rules apply when use nmake directly. Give it a try.
    AFAIK there is no way around the VS command prompt. [/quote]

    You can if you setup the environment by hand, it can even work from an msys prompt (i.e. installed with git for windows) but that's not for the faint hearted.

    IIRC, there are several batch files you can use to setup a command prompt. They can be found in the VS install, or the quick way is to check the properties of the various command prompt shortcut in the Start menu[/quote]

    Well, I was never digging as deep. I was doing a couple of compilations of Qt 4 versions. All I know is that one had to use msvc command prompt. That was the officially recommended way to do the compilation based on msvc for quite some time. However, that might have changed over the time.

    However, the problem or an additional problem is probably the mix of different msvc versions. The libs of msvc were always dependent of the compiler versions.

    Since msvc2008 is used and no pre-build of msvc2008 is on the official page, that is for sure the next thing to check.


  • Lifetime Qt Champion

    [quote author="koahnig" date="1376082086"]
    Well, I was never digging as deep. I was doing a couple of compilations of Qt 4 versions. All I know is that one had to use msvc command prompt. That was the officially recommended way to do the compilation based on msvc for quite some time. However, that might have changed over the time. [/quote]

    IFAIK, it hasn't changed a bit, I did that to automate release builds and I like bash better.

    [quote author="koahnig" date="1376082086"]
    However, the problem or an additional problem is probably the mix of different msvc versions. The libs of msvc were always dependent of the compiler versions.

    Since msvc2008 is used and no pre-build of msvc2008 is on the official page, that is for sure the next thing to check. [/quote]

    Completely agree



  • Thank you very much for your help

    I will try to solve the problem with your solution on Monday at work and then if I still have this problem, we can try to find another solution.

    As your information, I tried the later versions of visual studio but the result was same. I prefer to use MSVC 2008 because it is in English and others are in german. anyway, thanks again for your help.


  • Moderators

    [quote author="Amirhosein" date="1376086468"]Thank you very much for your help

    I will try to solve the problem with your solution on Monday at work and then if I still have this problem, we can try to find another solution.

    As your information, I tried the later versions of visual studio but the result was same. I prefer to use MSVC 2008 because it is in English and others are in german. anyway, thanks again for your help.[/quote]

    The open question at the time is whether you have installed the correct Qt lib version. The version has to be compiled with the same MSVC version as you are trying to do your application.

    Which version of Qt are you using?
    Is it Qt5 or Qt4?
    Where did you download from?



  • I use Qt v4,8,4 (VS2010 Opensource). I don't know from where it is downloaded.

    when I call nmake in command prompt, it gives me same fatal error for both of MSVC that I have. Maybe my MSVCs have a problem.

    These are the errors:

    C:\Program Files\Microsoft Visual Studio 9.0\VC>nmake

    Microsoft (R) Program Maintenance Utility Version 9.00.21022.08
    Copyright (C) Microsoft Corporation. All rights reserved.

    NMAKE : fatal error U1064: MAKEFILE not found and no target specified
    Stop.

    C:\Program Files\Microsoft Visual Studio 10.0\VC>nmake

    Microsoft (R) Program Maintenance Utility, Version 10.00.30319.01
    Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.

    NMAKE : fatal error U1064: MAKEFILE nicht gefunden und kein Ziel angegeben
    Stop.


  • Lifetime Qt Champion

    You have both Visual Studio 2008 and 2010 installed ?



  • yes I have the both.


  • Moderators

    If you want to use Qt libs 4.8.4 (VS2010 Opensource) you must use the compiler tool chain shipped with msvc2010 for compilation.

    "According to this":http://de.wikipedia.org/wiki/Microsoft_Visual_Studio#Version_2010 it would be the second one you have tried.
    [quote author="Amirhosein" date="1376313350"]
    C:\Program Files\Microsoft Visual Studio 10.0\VC>nmake

    Microsoft (R) Program Maintenance Utility, Version 10.00.30319.01
    Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.

    NMAKE : fatal error U1064: MAKEFILE nicht gefunden und kein Ziel angegeben
    Stop.
    [/quote]
    This seems to be correct nmake, but the makefile is missing.

    Do you use msvc2010 as IDE (integrated development environment) or Qt creator?

    I got the feeling that you are working on command prompt only. Is that true?

    Anyway a qmake run is missing. This would create the missing makefile.



  • I don't have Qt creator, so I only use command prompt.

    so you think that my Qt has a problem?


  • Lifetime Qt Champion

    No, what koahnig said is that you probably didn't run qmake, so you don't don't have a Makefile because of that.

    To build your project (and I recommend a shadow build)

    make a shadow build folder besides your source folder

    cd into that folder

    call qmake ..\mycoolprogram\mycoolprogram.pro

    call nmake



  • of course I built my project with qmake, but I got an error that I posted before,
    I think I should try the new versions of Qt which has also Qt creator but does Qt5,1 that released recently work with MSVC 2010 or I should also install the later version of VC?


  • Lifetime Qt Champion

    What do you have in the folder where you ran qmake ?



  • Hello.cpp
    Hello.pro
    Makefile
    Makefile.debug
    Makefile.release
    release and debug folder which are emoty.


  • Moderators

    [quote author="Amirhosein" date="1376316291"]of course I built my project with qmake, but I got an error that I posted before,
    I think I should try the new versions of Qt which has also Qt creator but does Qt5,1 that released recently work with MSVC 2010 or I should also install the later version of VC?[/quote]
    Sorry, for criss-crossing with SGaist. Certainly, he is correct that you should be able to do all from command prompt. If you think that is the better way, that is fine.

    However, I think using an IDE helps to get all required steps in the right order.

    If you have a fully licensed MSVC2010 version (not the express version which is for free), you can install vsaddin or maybe you have that should take care of calling qmake and nmake in the right sequence.

    An alternative is using Qt creator and your "only" choice when you have only an msvc express version.

    You do not have to switch to Qt 5 for using Qt creator. You install from the download page the Qt5 SDK which includes Qt creator. This will allow you also to continue to use Qt4.8.4 libs as already installed. However, you "waste" a bit of HD space, but have already Qt5 too.
    Alternatively, you can install "Qt creator":http://download.qt-project.org/official_releases/qtcreator/2.8/2.8.0/qt-creator-windows-opensource-2.8.0.exe separately from download page.



  • I have Visual Studio professional and also Qt4 visual studio Add-in. But when I write Qt program in visual studio It gives me this error:"C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(151,5): error MSB6006: "cmd.exe" wurde mit dem Code 1 beendet." which means: "cmd.exe exited with code 1"
    I searched for the solution for this error but I couldn't find any useful solution, I think it has a problem with Qmake.


  • Moderators

    Do you have no problems with a simple hello world program without Qt?

    Make sure that msvc is properly setup. When this is the case, I would recommend to install Qt libs and the newest vsaddin freshly.



  • I frequently write programs with MSVC and I don't have any problem but when I want to write Qt program, I have the problem.

    I wanted to try another solutions than installing other versions because I need several permissions to install a program on my pc, but I will try to install the new versions of Qt and MSVC.

    anyway, thanks for your help. :-)


Log in to reply
 

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