Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Qmake in windows?

Qmake in windows?

Scheduled Pinned Locked Moved General and Desktop
5 Posts 2 Posters 8.1k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • C Offline
    C Offline
    CroCo
    wrote on 31 Oct 2013, 03:24 last edited by
    #1

    I've tried my best to get qmake to work in both windows and mac but nothing worked. Unfortunately, qt has no installation steps for qmake. This is what I did
    First, I installed qt (no problems). It seems that qt doesn't include the path of the proper bin folder in environment variables in windows, so I did include that however I'm not sure which the proper folder to get qmake to work. qmake.exe appears in many folders and one of them is
    C:\Qt\5.1.1\msvc2010\bin
    After adding it, Visual Studio command prompt recognizes qmake command. So far so good. The next step I did follow qmake tutorial and I did the following
    I've created four files
    hello.cpp
    hello.h
    main.cpp
    hello.pro

    main.cpp
    @#include "hello.h"

    int main()
    {
    print();
    return 0;
    }@

    hello.cpp
    @#include <iostream>
    #include "hello.h"

    void print()
    {
    std::cout << "QMake!" << std::endl;
    }@

    hello.h
    @#ifndef HELLO_H
    #define HELLO_H

    void print();

    #endif@

    hello.pro
    @CONFIG += debug
    HEADERS += hello.h
    SOURCES += hello.cpp
    SOURCES += main.cpp@

    I opened visual studio command prompt and I typed (as the documentation says)

    qmake -o Makefile hello.pro

    This line created the following files
    debug folder
    release folder
    Makefile
    Makefile.debug
    Makefile.Release

    Now, I invoked nmake to create the executable file

    nmake

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

        "c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\nmake.exe" -
    

    f Makefile.Debug

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

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

    -DUNICODE -DWIN32 -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_A
    NGLE -I"........\Qt\5.1.1\msvc2010\include" -I"........\Qt\5.1.1\msvc2010
    include\QtGui" -I"........\Qt\5.1.1\msvc2010\include\QtANGLE" -I"........
    Qt\5.1.1\msvc2010\include\QtCore" -I"debug" -I"........\Qt\5.1.1\msvc2010\mks
    pecs\win32-msvc2010" -Fodebug\ @C:\Users\CroCo\AppData\Local\Temp\nmDBB0.tmp
    hello.cpp
    main.cpp
    Generating Code...
    echo 1 /* CREATEPROCESS_MANIFEST_RESOURCE_ID / 24 / RT_MANIFEST / "de
    bug\hello.exe.embed.manifest">debug\hello.exe_manifest.rc
    if not exist debug\hello.exe if exist debug\hello.exe.embed.manifest del
    debug\hello.exe.embed.manifest
    if exist debug\hello.exe.embed.manifest copy /Y debug\hello.exe.embed.ma
    nifest debug\hello.exe_manifest.bak
    link /NOLOGO /DYNAMICBASE /NXCOMPAT /DEBUG /SUBSYSTEM:WINDOWS "/MANIFEST
    DEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.
    0' publicKeyToken='6595b64144ccf1df' language='
    ' processorArchitecture='*'" /MA
    NIFEST /MANIFESTFILE:debug\hello.exe.embed.manifest /OUT:debug\hello.exe @C:\Use
    rs\CroCo\AppData\Local\Temp\nmE255.tmp
    if exist debug\hello.exe_manifest.bak fc /b debug\hello.exe.embed.manife
    st debug\hello.exe_manifest.bak >NUL || del debug\hello.exe_manifest.bak
    if not exist debug\hello.exe_manifest.bak rc.exe /fodebug\hello.exe_mani
    fest.res debug\hello.exe_manifest.rc
    Microsoft (R) Windows (R) Resource Compiler Version 6.1.7600.16385
    Copyright (C) Microsoft Corporation. All rights reserved.

        if not exist debug\hello.exe_manifest.bak link /NOLOGO /DYNAMICBASE /NXC
    

    OMPAT /DEBUG /SUBSYSTEM:WINDOWS "/MANIFESTDEPENDENCY:type='win32' name='Microsof
    t.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' l
    anguage='' processorArchitecture=''" /MANIFEST /MANIFESTFILE:debug\hello.exe.e
    mbed.manifest /OUT:debug\hello.exe @C:\Users\CroCo\AppData\Local\Temp\nmE7C2.tmp

        if exist debug\hello.exe_manifest.bak del debug\hello.exe_manifest.bak
    

    @

    in debug folder there is hello.exe but the problem it doesn't work. Every time I run it nothing happens.

    What I'm missing here?

    1 Reply Last reply
    0
    • S Offline
      S Offline
      SGaist
      Lifetime Qt Champion
      wrote on 31 Oct 2013, 08:13 last edited by
      #2

      Hi and welcome to devnet,

      On Windows, you should rather use Qt Creator to get started. Command line work like that is not especially user/developer friendly on that platform.

      Interested in AI ? www.idiap.ch
      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

      1 Reply Last reply
      0
      • C Offline
        C Offline
        CroCo
        wrote on 2 Nov 2013, 20:17 last edited by
        #3

        Hi SGalst, thanks for being informative and helpful. I found the problem it was in hello.pro. The setting in qmake tutorial in the documentation was very poor and messed up. I was following the documentation literally and no luck until I opened the Qt creator to see the proper setting for the source project. once I pasted them, qmake generated the proper files.
        Why I'm using qmake? It is a good question. I want to read the entire documentation and understand them properly. I'm doing my graduate study, so I want to make qt my choice to build my projects.
        Thanks again.

        1 Reply Last reply
        0
        • S Offline
          S Offline
          SGaist
          Lifetime Qt Champion
          wrote on 2 Nov 2013, 20:46 last edited by
          #4

          You're welcome

          QtCreator also uses qmake but like I said Windows is not really designed for command line development especially if you're starting there. You should rather use Linux/OS X for that. If not installed on the machine, in a virtual one it'll be fine. If you plan going cross-platform (including embedded/mobile) you should really consider using a unix like OS since most of the available platforms are running on them and also most of the tools are already natively available.
          Don't get me wrong, I don't say that you can't do it on Windows, but you should rather use Creator if you're starting, in order to get to the interesting stuff faster. If you really want to go low level, then *nix is IMHO a better choice.

          Interested in AI ? www.idiap.ch
          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

          1 Reply Last reply
          0
          • C Offline
            C Offline
            CroCo
            wrote on 4 Nov 2013, 06:54 last edited by
            #5

            Thanks again for the invaluable advice. I'll keep this in mind.

            1 Reply Last reply
            0

            1/5

            31 Oct 2013, 03:24

            • Login

            • Login or register to search.
            1 out of 5
            • First post
              1/5
              Last post
            0
            • Categories
            • Recent
            • Tags
            • Popular
            • Users
            • Groups
            • Search
            • Get Qt Extensions
            • Unsolved