Qt Update Gui From Different Thread

Qt Update Gui From Different Thread Average ratng: 7,0/10 3569 reviews
  1. Qt Update Gui From Another Thread
  2. Qt Update Gui From Different Thread
  3. Qt Gui From Another Thread
  • The start() will call the thread's run() method where a valueChanged() signal will be emitted. The valueChanged() signal is connected to the onValueChanged() which will update the count label on the dialog box. Example Code. We'll use Qt Gui Application with QDialog. Then, create MyThread class.
  • Effective Threading Using Qt Introduction Over the years using Qt I've seen a lot of difficulty using threads with Qt. Threads can be difficult and Qt provides a. You could get around this limitation by putting the functionality in a separate class but now you have two classes and the thread subclass really isn't.

December 21, 2012. Shared instructions for building Qt 5.0.0 in x64 configuration. December 19, 2012. Informed that he have compiled Qt 4.8.4-x64 by the guide. Also he shared his instructions for into static library.

November 4, 2012: As reported by, and, 32 & 64bit versions of Qt 4.8.3 have been successfully compiled by this guide, by both Visual Studio 2010 & 2012. Be aware that Qt might not be adjusted yet for Windows 8 (as reported ). June 4, 2012: As reported by, Qt 4.8.2 has been successfully compiled by this guide. April 5, 2012: As reported by, 32bit version of Qt 4.8.1 has been successfully compiled by this guide. December 20, 2011: As reported by, 64bit version of Qt 4.8.0 has been successfully compiled by this guide. To do 64bit compilation, please use Visual Studio x64 Win64 Command Prompt (2010) in step 8. Also please use jom 1.06 and don’t forget to install Service Pack 1 for Visual Studio.

September 16, 2011: Qt 4.7.4 has been successfully compiled by this guide. August 14, 2011: In order to build Qt for 64 bits just use Visual Studio x64 Win64 Command Prompt (2010) in step 8. Also install Service Pack 1 for Visual Studio 2010 beforehand – it fixes few bugs related to x64 compilation. July 18 2011: Qt 4.7.3 and Qt 4.8 (beta) has been successfully compiled by this guide.

Thread is surely one of the most discussed topic on Qt forums. Meanwhile, I never managed to find a simple example which describes how to simply do what I want to do: run a thread to do things and interrupt it if necessary (for example if the GUI is closed). That's why I'm writing this.

Just replace version number where applicable. Build instructions. Visual C 2010 contains all necessary SDKs for Qt compilation.

However if you plan to use Qt with Phonon you need to install DirectX SDK first. Install if you are going to compile Qt = 4.8.0. Download and extract. Copy contents of the folder qt-everywhere-opensource-src-4.7.1 to the directory where you intend to install Qt. In our case this is C: Qt 4.7.1. Set up environmental variables QTDIR=C: Qt 4.7.1 QMAKESPEC=win32-msvc2010.

Update PATH variable to include%QTDIR% bin. Download the latest version of. Extract jom files to C: Qt jom folder. Start Visual Studio 2010 Command Prompt: Start Programs Microsoft Visual Studio 2010 Visual Studio Tools Visual Studio Command Prompt. Run following commands in it (every line is a different command: type it then press Enter): cd c: Qt 4.7.1 configure -debug-and-release -opensource -platform win32-msvc2010. Jom jom.exe -j N Where N is number of CPU cores you want to utilize for Qt compilation.

Larger is better. Download and install. Run Visual Studio 2010.

Integrate just compiled Qt to IDE using menu Qt Qt Options Qt Versions Add Usually compilation takes about 10 hours, but thanks to jom and Intel SSD drive it took only 2 hours 40 minutes on my machine (Windows 7, 64bits) Remarks. Jom is nmake replacement for Qt compilation on multi-core CPU. Its parameter -j N allows to setup number of parallel processes for compilation.

Number of physical CPU cores is a good choice for N. Do not forget to use /d switch if you want to change drive in command prompt, e.g: cd /d d. Usual cd d: does not work anymore – a little “surprise” from Microsoft.

Contributions. As Evon pointed in comments, Qt folder has huge size (approx.

7GB) after compilation. One can safely shrink its size by deleting temporary files created during the process. Once compiled Qt doesn’t depend on these intermediate files – and they can be erased without affecting Qt functionality. Run as last command in step 10:.

Jom jom.exe clean Note that PDB files will be deleted too (the files are rarely needed, only for debugging of Qt itself). Rob provided his based on nmake with multi-core support. Hi, I’ve been trying to build Qt using MS VS 2010, and running into failures.

I’ve tried using nam and jom, and both have failed. I’ve set the environment variables for QTDIR, QTMAKESPEC and PATH per my installation of Qt (in D: 4.7.3). I’ve included the output from jom, below. Can someone help?

Thanks, -Confused ——————————————————————– d: Qt 4.7.3. Jom jom.exe -j 4 jom 1.0.5 – empower your cores Microsoft (R) 32b/64b MIDL Compiler Version 7.00.0555 Copyright (c) Microsoft Corporation. All rights reserved. Testcon.idl ocidl.idl oleidl.idl objidl.idl unknwn.idl wtypes.idl basetsd.h guiddef.h oaidl.idl servprov.idl urlmon.idl msxml.idl oaidl.acf ocidl.acf Microsoft (R) 32b/64b MIDL Compiler Version 7.00.0555 Copyright (c) Microsoft Corporation. All rights reserved.

Testcon.idl ocidl.idl oleidl.idl objidl.idl unknwn.idl wtypes.idl basetsd.h guiddef.h oaidl.idl servprov.idl urlmon.idl msxml.idl oaidl.acf ocidl.acf command failed with exit code 31 command failed with exit code 2 command failed with exit code 2 command failed with exit code 2 command failed with exit code 2 d: Qt 4.7.3. For an almost always guaranteed compile, download the binary release for VS2008 from qt.nokia.com I’m developing in VS2005. Currently rebuilding my 4.7.1 build (got an itchy uninstall finger). I’m about to do this for the 4.7.3 update. It comes with DLL forms and the source code for all the 3rd party packages, which allows for it to link correctly.

You won’t have to worry about the 3rd party packages being the wrong version for your build, either. To do this, here are the appropriate addendum for this article (also,I’m directing to the 4.7.3 build, but everything should be the same): Follow OP’s first two steps. 3: Download 4: Execute the installer. Notice that Qt will be installed in C: Qt 4.7.1 continue on with step 5 from above.

Thanks for the information (it’s been a few months since I had to build Qt). Hello Confused! I had the same problem as you have. I set also the environmental variables, as mentioned above, and I got the same errors like you. (By the way – my system is Windows 7, Visual Studio 2010 Ultimate, Qt 4.7.3 – could be important, maybe.) Ok. I deleated every environmental variable concerning Qt, started the VS2010 comm.

Prompt again. When the comm.

Prompt is open, one can see in the most upper line that there is no error – everything about Visual Studio 2010 was loaded. Next step is to configure Qt with (my choice) configure -platform win32-msvc2010 -opensource -no-qt3support After the configuration, nmake! I am compiling it right now without problems.

Few hours later, Qt will be compiled. So, maybe now or not one has to set the variables. I will try it first without setting the variables. If any problems occure there, I will do further steps. I hope, that I was able to help you/anyone.

Best regards. Yes, you are right, this is 32 bits build. And yes, you are correct again – in order to compile x64 binaries just use Visual Studio x64 Win64 Command Prompt (2010). However, make sure that: 1.

You have installed Service Pack 1 for Visual Studio 2010. Otherwise it won’t build x64 projects correctly. You do clean build. Copy Qt sources (from downloaded zip file) to another directory and compile it there for x64. I’ve just compiled Qt 4.7.3 for x64 platform this way – no problems with jom appeared.

Test applications run nicely too. Dependency Walker re-assures that binaries are indeed x64 binaries. Hi Pavel, These instructions are perfect – I have been able to build Qt and create projects via VS 2010 with ease.

I do have one question: Due to project requirements on deployment, I built Qt as static instead of shared (you haven’t specified it in your configure parameters, but the default setting is shared). This way, I don’t have to deploy the Qt dll’s as well.

However, I observe that the release libraries are built with the -MD flag (Multi-threaded DLL). How do I force it to use the -MT flag instead? The configure script seems hardcoded to use this flag when -static is passed for configure. Was hoping you might have a quick answer here, would rather not read through a 5000 line config script Thanks! Great instructions! I followed them to successfully build 64bit Qt 4.7.4 on my Win7 Pro x64 machine.

My version’s usable both within Qt Creator 2.3.0 (32bit) and Visual Studio 2010 (SP1). Both IDEs can build 64bit applications! It’s definitely worthwhile to update Visual Studio to Service Pack 1 prior to compiling Qt, as my builds continued to fail until I updated. Here’s my config, for variety: configure.exe -debug-and-release -opensource -platform win32-msvc2010 -no-qt3support -qt-gif -qt-libpng -qt-libmng -qt-libtiff -qt-libjpeg I have noticed that the Qt folder is enormous after compiling. I’d like to delete the intermediate files that bloat the folder while leaving the compiled 64bit libraries intact. I read and about 3 options with nmake (clean, confclean, distclean), but I’m unsure what exactly the difference is between each.

As I understand it, one deletes the intermediate files, one deletes the intermediate files AND the compiled libraries, and one deletes the intermediate files AND the source code but which one’s which? Can you shed some light on the differences between the 3 options?

Thanks for the tip! Unfortunately, running jom’s clean happens to also cause the VS2010 compiler to throw LNK4099 warnings because of vc100.pdb being deleted in all of the Qt source libraries.

I believe in fixing errors, not ignoring them. Do you know of a way to prevent this?

Here’s the error text for a simple project: qtmaind.lib(qtmainwin.obj): warning LNK4099: PDB ‘vc100.pdb’ was not found with ‘qtmaind.lib(qtmainwin.obj)’ or at ‘C: dev programs AddressBook vc100.pdb’; linking object as if no debug info. “Warning” is what it is – warning, not error. Debug information (pdb) for Qt is needed only in rare cases (e.g. For debugging Qt itself) and not crucial for apps development – you can debug them as usual. Just for analogy – MS doesn’t supply pdb files for Windows kernel modules 🙂 which is intensively used in any application. Nonetheless this is not the “error” preventing development for Windows – right?

PDB files are of the largest size among temporaries generated by compiler. If you keep them – no space saving will be available.

Thanks for the comment. I’ve messed around with it since my last post and you are correct in saying that that warning has no apparent ill effect on the Qt program. I’ll have to disable that warning at some point when I get tired of seeing it. 🙂 Additionally, the 64bit Qt also works in the 32bit Qt Creator IDE (v2.3.1 on a clean install, NOT the Sept 1, 2011 SDK). Just add it to your list of Qt versions in Tools - Options. To debug your 64bit programs on a PC, you have to download and install the free 64bit Debugging Tools for Windows as instructed on the official Nokia site and.

I was relieved to learn that I didn’t have to compile a 64bit version of Qt Creator to do 64bit development. Good news, Evon! Thanks for the info. I prefer to use MSVC 2010 IDE + Qt Visual Studio Add-in + Visual Assist X combination. IMHO Qt Creator IDE slow and immature, but it has major advantage of being free. I guess you already own Pro version of VS 2010 (since you can compile x64) – so why don’t you use it for development? I’m impressed by the work of company.

I worked on similar projects here in Japan for company. I developed compression algorithms for data from laser measurement & huge aerial images. Earth is pretty small after all. The newer versions of Qt Creator are pretty fast and the auto-generated code from integration of Qt Designer into Qt Creator can be helpful.

I generally like to code my own UI with Qt and avoid Qt Designer altogether, but I’m still playing with it once in a while. I haven’t toyed much with the VS Add-in yet since Qt Creator is simpler to use for a casual coder such as myself. Interesting that you’ve heard of us over in Japan!

We’re always interested in new opportunities. 🙂 I just did a little work over there this summer for my research with Oregon State Univ as a tsunami-related collaboration with BRI.

Awesome tutorial, very concise and well written! I just built from scratch with MSVC2010 in the Visual Studio x64 Command Prompt and it generated the proper qmake for x64 development (as you pointed out Pavel, no adjustments to the tutorial are needed). If I had read the prereqs a little closer I would have gotten it on the first try. However I am still curious about this (from Evon): “Additionally, the 64bit Qt also works in the 32bit Qt Creator IDE (v2.3.1 on a clean install, NOT the Sept 1, 2011 SDK). Just add it to your list of Qt versions in Tools - Options” I had tried this with the binaries from Qt and could not set my x64 compiler in this way because I did not have the proper qmake (and thus Qt greys out the x64 toolchain in the projects tab). Can you give me some suggestions as to why this was happening? I guess I don’t know much about the difference in the qmake files for x64 and win32 compilers.

My computer config was the same before I built and when I tried this last (I had installed all the build prereqs before this). @Ryan: I’ve noticed that Qt Creator saves its Qt4 settings separate from its installation so that you can share your toolchains between multiple QtC installations. There might be some sort of corruption between versions. More likely, though, one of the links in your toolchain is broken. First, I’d check to make sure that you’re targetting the proper qmake. If you move your build directory after following Pavel’s steps, then you will break the toolchain even if you’re targetting the correct qmake.

For me, that’s C: dev qt 4.7.4x64msvc2010 bin qmake.exe Note that this is the exact same directory where I built my 64bit version of Qt—I’ve never moved it. Second, make sure you create a new toolchain under Tools-Options-Qt4 rather than editing an existing one to prevent corruption. Click down the Details and make sure you click Build All to construct your toolchain. If you’ve already done that, make sure it’s pointing to the correct directory and using the “Microsoft Visual C Compiler 10.0” (or whatever version you have installed).

Third, I deleted all of my.pro.user files for the projects that I wanted to build in 64bit and recreated the build configurations, just to make sure that I had clean projects going. I doubt this is your problem since it won’t even enable your toolchain, but you never know.

PS—Pavel, I linked your site from Nokia’s wiki and overhauled their instructions since their 64bit compilation instructions were laughable. You might see a traffic boost.

Hello, thanks for the great tutorial. Everything worked well, but after roundabout 1:30 hours of compiling, I got the following error: mochelpgenerator.cpp link /LIBPATH:”c: Qt 4.7.1 lib” /LIBPATH:”c: Qt 4.7.1 lib” /NOLOGO /INCR EMENTAL:NO /SUBSYSTEM:CONSOLE /MANIFEST /MANIFESTFILE:”tmp obj releaseshared qh elpgenerator.intermediate.manifest” /OUT. Bin qhelpgenerator.exe @C: Users Sascha AppData Local Temp qhelpgenerator.exe.3288.1030.jom LINK: fatal error LNK1104: Datei “. Bin qhelpgenerator.exe” kann nich t ge÷ffnet werden. Command failed with exit code 1104 command failed with exit code 2 command failed with exit code 2 command failed with exit code 2 command failed with exit code 2 command failed with exit code 2 c: Qt 4.7.1 “qhelpgenerator.exe cannot be opened” and the compiling stopped. Someone got an idea whats the matter about that? Thank you very much for your help!

Jom is ok, but you can just use the -mp switch with nmake. Here’s my script to do an out of source build on the latest git located in C: Qt qt-git-build @ECHO OFF rmdir /Q /S C: Qt qt-git-build mkdir C: Qt qt-git-build cd C: Qt qt-git-build. Qt-git configure -opensource -mp -qt-zlib nmake nmake qdoc3 editbin /STACK:0x200000 bin qdoc3.exe nmake docs nmake install nmake clean cd. Just open up a Visual Studio x64 command prompt and run the batch file. This also builds the docs, the editbin command fixes a stack overflow that none of the developers seem to care about because it only shows up in 64-bit windows. The nmake install copies the header files over instead of dummy files to the qt-git directory, and the clean gets rid of the temporary files. This builds a nice copy of Qt that you can move from computer to computer, albeit pretty large.

Our development environment requires x64 because of our large datasets, and I’m already using functions that were introduced in 4.8.0. This will have to do until the people at the qt-msvc-installer google code page upload 4.8.x version of their installer. @Evon: The Qt Creator which you download from the Nokia website has Qt built statically. Check the ‘about’ section and you’ll see it may be using a different version. The whole process takes about 2 hours with an i7, no jom necessary. If anyone is still interested, to make Qt really portable you can create a file called “qt.conf” and put it into the “bin” folder beside the qmake.exe. The only thing it needs to contain is these two lines: Paths Prefix =.

This will instruct qmake to search for libs, includes etc. In the directory one level up so instead of the path that gets hardcoded into qmake at compilation it will then use the relative one specified by qt.conf. This makes it possible to move it to wherever you want.

This is not very well documented and it took me a long time to figure it out so I thought it might be helpful for some people. For my compilation I used QMAKESPEC=win32-msvc2010, then configure -debug-and-release -opensource -platform win32-msvc2010. I am on x64 machine, so I used Visual Studio x64 Win64 Command Prompt for whole process. Now when trying to launch simple app created from VS wizard in Debug configuraion Win32, I got: QtGuid4.lib(QtGuid4.dll): fatal error LNK1112: module machine type ‘x64’ conflicts with target machine type ‘X86’ So the Qt is builded for x64 even if win32-msvc2010 was set? Because of the x64 command prompt? Or am I wrong? My orded was to develop x86 app onx64 system.

First Thanks for your help (I dont understand why there is not similar ‘official’ help on QT web page. ) I have two problems-questions. First: Have I to build a debugandrelease QT? Now, I see how release and debug versions are created. (###.dll /lid and ###d.dll /lib ) I’m a bit confused.

The ### files are ‘pure’ release versions and ###d. ‘pure’ debug versions? What are the difference with a ‘debugandrelease’ build? Second: On release mode I can compile my app but on debug mode I have a link error: cannot find QtOpenGLd4.dll. If I look at my /bin folder I see there is a #4.dll / #4.lib / #4d.dll /4d.lib for every qt library except QtOpenGLd4.dll.

(I have only the release version ) What is happen? I followed the directions to a “T” and having problems with the last stage of building.

Everything compiled okay though but the build stopped. I have Win7 X64 VS 2010 (Ultimate) Every time I run the,”.

Jom jom.exe -j 5″, It stops in a different area. If I run it again, it will pass this error and have another manifest issue. I even tried to open the VC CMD window in Admin mode, didn’t help.

Figured it out. Thanks to the advice of turning off my anti-virus, it built fine. I searched other sites for same error code and most had to do with AV. Had to do with filenames or combinations of file name being create then copied; then AV would block read access for a short period of time and return “bad handle” back to caller.

Thanks all, make sure to turn off AV no matter which one you have if goofy problems. To bad this is an issue Only have to do this once in a while though and can disconnect from internet when building future bins. I have AVG and found other AV’s out there that are causing same issue. Apparently with some file names being created and copied too soon, AV’s pick up on this and block access. Thanks All, -John. I have the following error: c: QtSDK Desktop Qt 4.7.4 msvc2010 bin idc.exe debug comapp.exe /idl tmp obj debugshared/comapp.idl -version 1.0 tmp obj debugshared comapp.idl IDL generation failed trying to run program debug comapp.exe!

Midl tmp obj debugshared/comapp.idl /nologo /tlb tmp obj debugshared/c omapp.tlb Processing tmp obj debugshared comapp.idl comapp.idl c1: fatal error C1083: Cannot open source file: ‘tmp obj debugshared comapp.id l’: No such file or directory Any idea how to finish compiling? The computer is from work and they installed another tool that makes use of Qt 4.x as well. Problem is, that other tool is compiled and linked with an older version of Qt (4.5.2).

So whenever a tool is loaded, it may instead load that other version because it was installed in a C: windows WOW64(something) folder which is automatically scanned by the operating system (in other words, changing your%PATH% variable has no effect.) In other words, my compile did work just fine, only that other version of Qt 64bit is in the way! Speaking of that, I also noticed that Perforce was making use of Qt.

But at least they keep those libraries in their own personal bin folders. Thanks again for the info on this page! Hi, I have got a problem when I compile 64bit Qt 4.8.0 in VS2010, windows 7 (x64). I followed the step you provide. 1, I download 4.8.0 using the link you give, and put it in E: Qt 4.8.0 2, Environment varible and path were set correctly. 3, jom106 is downloaded into e: Qt jom 4, in Visual Studio x64 Win64 Command Prompt (2010), I change the dir to E: Qt 4.8.0 configure -debug-and-release -opensource -platform win32-msvc2010. Jom jom.exe -j 8 after compilation, it says command failed with exit code 2 command failed with exit code 2 command failed with exit code 2 command failed with exit code 2 And the file’s size now is only 4GB+, not 7GB.

What is this problem? Thanks in advance. Hi folks, I got the following error while trying to compile Qt 4.7.1: IDL generation failed trying to run program release openglax.exe! Thanks for sharing! I followed this days ago and I did success in compiling.

However, since I had changed the cflags by incident, I have to compile it again. But when I pulled the latest Qt version from Git and tried to compile, it gave the following errors: Running syncqt. Creating qmake. Cl -Yuqmakepch.h -FIqmakepch.h -Fpqmakepch.pch -c -Fo./ -W3 -nologo -O2 /MP -I.

Hi, Thank you very much for very useful information. I followed your steps and it looks like it worked. However, I am using QT in an open source C project that I would like to debug, however when I build the solution in MSVS2010 in debug mode I get this error: 1qtmain.lib(qtmainwin.obj): error LNK2038: mismatch detected for ‘ITERATORDEBUGLEVEL’: value ‘0’ doesn’t match value ‘2’ in audiomixerboard.obj It looks like the QT is not compiled with debug information? Is that true?

I thought using: configure -debug-and-release -opensource -platform win32-msvc2010 Provides debug information as well. I appreciate any help on this. To the OP of this blog post. Some users probably use the parameter ‘-dont-process’. This avoid creating new Makefiles necessary for compiling(jom or nmake needs them). There is a solution in the one of the forum out there that suggest to use gmake and create a new Makefile from the projects.pro file. But this is badly wrong!

The makefile should be created after the configure command. If there is no new Makefile than some of your parameters are wrong or you make something wrong(like using the -dont-process parameter, which should be removed afaik). I’ve tested it with Qt 4.8.2. I am trying to compile QT library into my visual studio 2010 program. I have a window 7, 64 bit operating system with a celeron processor. I must have a 32 bit visual studio because when opened my command prompt within the visual studio, the title bar says x86.

I thought I had a 64 bit visual studio 2010 but I guess I actually have a 32 bit software installed. I am very confused as to which version of QT library, Pearl, and jom to download since I have a window 64 bit operating system?

Due to the enormous download time, I ended up downloading the 32 bit QT 4.8.0 linked to this website. I also downloaded jom 1006, which I assume is version 1.o6 as recommended if using QT 4.8.0. I also downloaded 32 bit strawberry pearl and installed service pack 1 for visual studio 2010.

I did not have any problems configuring QT within visual studio 2010. My problem started when I run nmake to build the library. I issued the. Jom jom.exe -j N setting N=1 during the first nmake because I do not have multi-core cpu.

After at least 15 hours, my computer was still compiling and generating code. It may even have been 20 hours so I just shut it down and deleted the make file and reconfigured and ran nmake again.

This time I started at 4:00 pm yesterday and right now it is 6:04 pm the following day and my computer is still compiling. I don’t not know why it is doing this. You mentioned that using nmake without the aid of jom, it would take at least 10 hours. I used jom and Well it is over 10 hours right now and this time I set N=4. I did noticed I had a warning: C4189: ‘q’ local variable is inialized but not reference.

And warning: C4189: ‘d’ local variable is inialized but not reference. Right now, I am getting alot of warnings a great number of.cpp files that used a header file yvals.h(21) that is included in visual studio 2010. GCController.cpp c: Microsoft Visual Studio 10.0 VC include yvals.h(21):warning C4005: ‘HAS-TRl’: macroredefinition commandline arguments: see previous definition of ‘HASTRl’ These were a few files that did not generate the code after compiling, but even with this warning, the majority of the.cpp files did generate the codes. These warnings was included in the last 8 hours of compilation.

I am not sure what this means? I do not know if I downloaded the right QT and pearl.

Should I have downloaded the 64 bit QT and pearl for my window 7, 64 bit system? If I just used nmake without jom, can I still run jom.exe clean to delete the temp files? I was wondering if someone can help me with these issues of the warnings, 32 bit or 64 bit software to download, and why it is taking so long to compile the build?

Dear Pavel, I run into tons of this warnings too, however, at last the nmake step failed: jom: C: Qt qt-everywhere-opensource-src-4.8.4 src 3rdparty webkit Source WebCore Makefile.WebKit release Error 2 jom: C: Qt qt-everywhere-opensource-src-4.8.4 src 3rdparty webkit Source WebCore Makefile.WebKit sub-WebCore-makedefault-ordered Error 2 jom: C: Qt qt-everywhere-opensource-src-4.8.4 Makefile sub-WebCore-makedefault-ordered Error 2 I installed a x86 perl and updated my msvc2010 with SP1. And I also tried x86 and x64 prompt of msvc2010. I did update the user environment as your great suggestion. Oh, there is something else I have to mention: I have compiled one Qt with your suggestions before with a x86 prompt of msvc2010.

Then I need a x64 version, so I complied the static library with almost the same steps. But now it failed. Could you please give me a hand on this? Thank you so much! Dear all, Thank all of you for your so detailed information.

By step by step instruction, I have successfully build Qt 4.8.3 64 bit libs under Windows 7 64bit + VS2010. Quick addendum – I copied the whole tree for 4.8.3 from a Windows 7 64-bit Intel i5 build onto a Windows 8 64-bit Intel i7 machine, and intially Qt Creator didn’t like the “version” I was trying to add, giving it the all-too-familiar red blob treatment.

However, setting the QTDIR and QMAKESPEC environment variables and then re-running the configure step seemed to resolve the situation and Creator on Windows 8 now happily recognises my 4.8.3 “version” and associates a proper tool chain with it. Hope it helps someone else! Update: Today I managed to get a “complete static build” of Qt 4.8.4 for x64 with both VS2010 and the Intel compiler (Intel Composer XE 2013). By “complete” I mean that not only Qt was built statically itself, but now it’s also independent from the msvc.dll runtime libraries. I’ll just show what I did for the Intel compiler build: in “qmake.conf” located in C: Qt 4.8.4 mkspecs win32-icc I changed the line: QMAKECFLAGSRELEASE = /O2 /MD /GF /GS- to QMAKECFLAGSRELEASE = /O2 /MT /GF /GS- then I just replaced: Step 5 with: QTDIR=C: Qt 4.8.4 QMAKESPEC=win32-icc Step 9 with: Start Intel Parallel Studio XE 2013 Command Prompt Parallel Studio XE with Intel Compiler XE v13.0 Update 1 Intel 64 Visual Studio 2010 mode Step 10 with: cd c: Qt 4.8.4 configure -static -release -opensource -platform win32-icc. Jom jom.exe -j N (and the other steps accordingly for the 4.8.4 version, of course).

With the Intel-i7-3770k and N=8 it took about 1 hour, but the Qt folder.after. cleaning with “jom clean” has the huge size of nearly 9Gb. I expected the folder to be very large, given the static build of libraries and demos/examples, but I didn’t expect that large!

🙂 PS: I had already installed Windows SDK 7.1, DirectX SDK June 2010 and ActivePerl 5.16 for x64. The Qt 5.0.0 libraries for x64 were compiled successfully with VS2010! Correction: sorry, the instructions I posted were valid only for Qt 5.0.0 without QtWebKit support. Qt 5 will compile without the “-icu” option, following the previous guide. However, in order to build Qt 5 with QtWebKit, you need to make just two other steps, before running “configure.bat”.

First, install Ruby, and update the PATH variable adding “C: Ruby192 bin” (if you installed Ruby v1.9.2). Hi Vincenzo Mercuri, i followed your tutorial and have a problem, maybe u can help me. When i start nmake after 3 minutes it stops and say: NMAKE: fatal error U1077: ‘”c: Program Files (x86) Microsoft Visual Studio 10.0 VC bin cl.EXE”‘: return code ‘0x2’ i used: Visual Studio 2010 Windows SDK 7.1 Visual Studio 2010 SP1 Visual C 2010 SP1 Compiler Update for the Windows SDK 7.1 -ActivePerl 5.16.1.1601 for x64 -Python 2.7.3 (for x64) through the installer at python.org -ICU Libraries v50.1.1 for win64-msvc10 Thanks. I am trying to compile qt5 with VC 2010 Express (Windows 7 64bit) and get an error in compiling.

I installed Visual Studio 2010 Express Windows SDK 7.1 Visual Studio 2010 SP1 Visual C 2010 SP1 Compiler Update for the Windows SDK 7.1 Then called configure in Visual Studio Command Prompt (2010) “configure -static -developer-build -mp -opengl desktop -platform win32-msvc2010 -nomake examples -nomake demos” and stated compiling with nmake, after some time I get the error: Microsoft (R) Program Maintenance Utility Version 9.01 Copyright (C) Microsoft Corporation. All rights reserved. Echo 1 /. CREATEPROCESSMANIFESTRESOURCEID./ 24 /. RTMANIFEST./ “debug composition.exe.embed.manifest”debug composition.exemanifest.rc if not exist debug composition.exe del debug composition.exe.embed.manifestNUL 2&1 if exist debug composition.exe.embed.manifest copy /Y debug composition.exe.embed.manifest debug composition.exe manifest.bak link /NOLOGO /DYNAMICBASE /NXCOMPAT /DEBUG /SUBSYSTEM:WINDOWS “/MANIFESTDEPENDENCY:type=’win32′ name=’Microsoft.

I just compiled Qt 4.8.4 x64 bit. 23 minutes with jom -j 8. Shiny new i7 notebook with 7200rpm drive on windows 8. Running RetroUI for my Start Button I uninstalled all compilers (after 2 days of problems).

Already installed (64 bit versions where possible): Perl 5.15.1 Python 2.7.3 Cmake 2.8.10 OpenCV 2.4.9 TBB 4.1 Eigen CUDA 5.0 Point Cloud Library 1.6 OpenNI 2.0 Dot NET 4.0 VS2008 SP1 Path Editor Tortise GIT and QT 4.8.4 Then followed the recipie exactly: VC2010 Express Win SDK 7.1 (UN check c compilers) VC2010 SP1 “VS10sp1-KB983509” –restart– VC2010 compiler update “VC-Compiler-KB2519277” Parafly, The trick is for VS2010 Express Edition to run the 64 bit command prompt. But there isn’t one, per se. So you have to make one: copy the VS2010 command prompt Its the same command from Windows system32 cmd.exe, but it needs parameters: go to properties and edit the target:%comspec% /k “”C: Program Files (x86) Microsoft Visual Studio 10.0 VC vcvarsall.bat”” amd64 you might want to set run as administrator (I had to copy to my docs then back in). Start the Prompt. Verify that it is 64bit by opening Task ManagerDetails (select Platform display column) you should see cmd.exe as 64 bit at the VS cmd Prompt change to bin Then run SetEnv.cmd /Release /x64 now cd. Up to C: and over to your Qt folder I ran: configure.exe -release -no-webkit -no-phonon -no-phonon-backend -no-script -no-scripttools -no-qt3support -no-multimedia -no-ltcg -opensource about 10 minutes laterdone.

Then I had to run.jom.exe -j 8 I couldn’t get it to run from the jom folder so I copied jom.exe to Qt 23 minutes later.ding. Watching resource monitor, all 8 cpu’s were at 100%, yikes. I hope this Helps. Hi Vincenzo, I followed all your directions. I installed the latest of the programs, but I’m getting this error: zdll.lib is missing. Could you please take a look and suggest where I can get it and where I should install it? C: Qt 5.0.0jom -j 4 jom 1.0.13 – empower your cores cd qtbase && ( if not exist Makefile C: Qt 5.0.0 qtbase bin qmake C: Qt 5.0.0 qtbase qtbase.pro -o Makefile ) && C: Qt 5.0.0 jom.exe -f Makefile cd src && ( if not exist Makefile C: Qt 5.0.0 qtbase bin qmake C: Qt 5.

0.0 qtbase src src.pro -o Makefile ) && C: Qt 5.0.0 jom.exe -f Makefile cd tools && ( if not exist Makefile C: Qt 5.0.0 qtbase bin qmake C: Qt 5.0.0 qtbase src tools tools.pro -o Makefile ) && C: Qt 5.0.0 jom.exe -f Makefil e cd bootstrap && ( if not exist Makefile C: Qt 5.0.0 qtbase bin qmake C: Qt 5.0.0 qtbase src tools bootstrap bootstrap.pro -o Makefile ) && C: Qt 5.0.0 jom.exe -f Makefile C: Qt 5.0.0 jom.exe -f Makefile.Release cd moc && ( if not exist Makefile C: Qt 5.0.0 qtbase bin qmake C: Qt 5. 0.0 qtbase src tools moc moc.pro -o Makefile ) && C: Qt 5.0.0 jom.exe -f Makefil e C: Qt 5.0.0 jom.exe -f Makefile.Release link /NOLOGO /DYNAMICBASE /NXCOMPAT /INCREMENTAL:NO /SUBSYSTEM:CONSOLE ” /MANIFESTDEPENDENCY:type=’win32′ name=’Microsoft.Windows.Common-Controls’ versio n=’6.0.0.0′ publicKeyToken=’6595b64144ccf1df’ language=’.’ processorArchitecture =’.' ” /MANIFEST /MANIFESTFILE.

Bin moc.exe.embed.manifest /OUT. Bin moc.exe @C: Users Farid AppData Local Temp moc.exe.4520.16.jom LINK: fatal error LNK1181: cannot open input file ‘zdll.lib’ jom: C: Qt 5.0.0 qtbase src tools moc Makefile.Release. Bin moc.exe Er ror 1181 jom: C: Qt 5.0.0 qtbase src tools moc Makefile release Error 2 jom: C: Qt 5.0.0 qtbase src tools Makefile sub-moc-makefirst Error 2 jom: C: Qt 5.0.0 qtbase src Makefile sub-tools-makefirst Error 2 jom: C: Qt 5.0.0 qtbase Makefile sub-src-makefirst Error 2 jom: C: Qt 5.0.0 Makefile module-qtbase-makefirst Error 2 C: Qt 5.0.0. Thank you for your reply Greg.

I’m a little confused. In your instructions you mention you installed (or uninstalled CMake), but you don’t mention how it is used.

Do you mean I should install CMake and compile the zlib library myself? Alternatively, I tried adding the option: -qt-zlib in Qt’s configure command.

It got rid off the zdll.lib error, but now I have a similar error with png library saying that it is missing. I tried adding the option: -qt-libpng But this time, this Qt configure option did not solve the problem. Hi, My goal is to compile a VS2012 project (including Qt-libraries) to a target machine type x64. So I followed the steps above and compiled Qt5 on Win 7 (x64) with VS2012 (x64 command prompt). Everything seemed to be configured and compiled without errors.

I then use the x64 compiled Qt libraries in order to create a simple Qtapp project and specify the target machine x64 in VS2012 project settings. When compiling I get the error message: error LNK1112: module machine type ‘x86’ conflicts with target with machine type ‘x64’. File: mocqtappsrc.obj (with the files: qtappsrc.h, qtappsrc.cpp, qtappsrc.ui, qtappsrc.qrc) Did some modules compile to a x86 target and some to a x64 target? And how to compile all modules to a x64 target? Hi, I have tried the above with the following: Qt 4.8.4, VisualStudio2010, OpenSSL v1.0.1, I needed to build Qt since I can not access https sites.

So I have tried to build with openssl. I followed the above steps and changed the configuration a bit to add the open ssl: configure.exe -platform win32-msvc2010 -opensource -shared -debug-and-release -openssl-linked -I C: OpenSSL-Win32full include openssl -L C: OpenSSL-Win32full lib I have installed open ssl under C: OpenSSL-Win32full After build of Qt was done, I have tried to build and run the previewer example from the Qt installation dir.

There i have tried to load http url and it worked fine, when I tried to load https url nothing happened. The page was blank. I tried to see if ssl is supported by adding: bool isSSL = QSslSocket::supportsSsl; I get isSSL = true. Does anyone have an idea why https does not work. Working with Qt 5.0.1 and compiling for VS2010 in 64bits.

I spent about 3 days trying to compile, even after reading these instructions, and finally managed to get it running, so I’d like to share my tips: 1) Anti-viruses are definitely problematic, as well as anything that may interfere with the files: that means also backup tools, dropbox/googledrive etc I strongly recommend stopping all these services/tools. 2) To be sure to avoid any conflict, I ran the Visual Studio Command Prompt in administrator mode! (x64 for x64 compilation) 3) Note that if you installed QT5 x86 with the installer, you have Qt Creator (32bits), but no need to recompile Qt Creator for 64bits: QtCreator will work with both x86 and 64bits.

Qt Update Gui From Another Thread

4) to compile QtWebKit, you also need Ruby. That was missing in the steps. 5) Here QTDIR is defined as the target installation path: this is basically used for the -prefix option in configure, so use either one or the other, but -prefix will override the QTDIR variable.

6) Between steps 11 and 12, you need to run nmake install 7) To build the docs, run nmake docs after install 8)I strongly recommend using -debug-and-release or you will have troubles debugging in VS2010 9)For some reason the first time I compiled using jom, VS complained qmake was made with an unrecognized make tool. I may have screwed up as I had installed the VS add-in 1.1.0 instead of 1.2 and maybe that was the reason, but because of this error I used nmake and it worked fine. 10) I still have issues compiling with OpenSLL. To be continued 11) If nmake fails and you need to reconfigure, nmake -confclean doesn’t work. Nmake clean works but does not clean the Makefiles so my best recommendation to start off from a clean state is to delete all and copy the source over.

Using Git may be better and easier but I haven’t found Qt5.0.1 on Git; the links all point to 4.8 plus I don’t want to run from dev sources, so I used to.zip sources. 12) my batch files commented: Setting PATHs first (in a separate.BAT file because you may have to run configure and nmake many times, but you don’t want to set the PATH many times or it will just add the same path multiple times. SETPATHS.BAT set ICU=D: Qt 5.0.1 icu4c-4912-Win64-msvc10 icu REM ICU directory. I understand your frustration and felt the same way for a while.

Ultimately, though, it really is pretty straightforward. They made it this complicated because Qt has linking points for several other libraries (WebKit, OpenSSL, JPEG, to name a few) that they don’t actually own and can’t distribute directly. Giving the user (you and me) the option to make Qt as big, as small, as simple, as complicated as we want it to be really is pretty ingenious.

That said, it is pretty mind-boggling that they don’t distribute a 64bit version. I need to build it on win64 and msvc2010 I made it step by step but i take error when configure -debug-and-release -opensource -platform win32-msvc2010 copy qmake.exe C: Qt 4.7.1 bin qmake.exe 1 file(s) copied. Creating makefiles in src Generating Visual Studio project files Could not find mkspecs for your QMAKESPEC(win64-msvc2010) after trying: C: Qt 4.7.1 mkspecs Error processing project file: C: Qt 4.7.1/project s.pro Qmake failed, return code 3 Generating Makefiles Could not find mkspecs for your QMAKESPEC(win64-msvc2010) after trying: C: Qt 4.7.1 mkspecs Error processing project file: C: Qt 4.7.1/project s.pro Qmake failed, return code 3. Configuration: Win7(64), MSVS 2012, QT5.0.2 Trouble: a some problems with linking.

Generating Code. Mocqwtanalogclock.cpp mocqwtcompass.cpp mocqwtcounter.cpp mocqwtdial.cpp mocqwtknob.cpp mocqwtslider.cpp mocqwtthermo.cpp mocqwtwheel.cpp Generating Code. Lib qwt.dll Qt5OpenGL.lib(Qt5OpenGL.dll): fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'X86' NMAKE: fatal error U1077: 'echo': return code '0x458' Stop. NMAKE: fatal error U1077: 'C: Program Files (x86) Microsoft Visual Studio 11.0 VC BIN nmake.exe': return code '0x2' Stop.

Qt update gui from different threadQt Update Gui From Different Thread

NMAKE: fatal error U1077: 'cd': return code '0x2' Stop. As an update, I’ve also compiled version 4.8.4 and 4.8.5 in 32bit and 64bit using MSVC2010. Haven’t played with VS2012 yet, but that’s coming. I’ve also compiled both 4.8.4 and 4.8.5 with OpenSSL 0.9.8k to add SSL capabilities for interacting with Google’s APIs (it works!). It requires a bunch of extra settings in configure.exe, but it’s not too bad. I’d like to try out OpenSSL 1.0.1, but I can’t find windows7-compatible 64bit binaries and I’m not interested enough to try to compiling OpenSSL myself yet. I’m getting this error when trying to compile QT 5.2.1 with VS 2013 In file included from.

Include/QtGui/qopengl.h:1:0, from. Include QtGui 5.2.1 QtGui/qpa/./././././src/gui /kernel/qplatformopenglcontext.h:60, from. Include QtGui 5.2.1 QtGui/qpa/qplatformopenglcontext.h:1, from. Include QtGui 5.2.1 QtGui/qpa/./././././src/gui /kernel/qplatformwindow.h:59, from. Include QtGui 5.2.1 QtGui/qpa/qplatformwindow.h:1, from kernel qwindowsysteminterface.cpp:42:. Include/QtGui/././src/gui/opengl/qopengl.h:82:25: fatal error: GLES2/gl2.h: No such file or directory compilation terminated.

Jom: C: Qt Qt5.2.1 5.2.1 Src qtbase src gui Makefile.Debug.obj debug qwindowsy steminterface.o Error 1 g -c -include.pch debug qtguipch.h -pipe -fno-keep-inline-dllexport -g -std=c0x -fno-exceptions -frtti -Wall -Wextra -DUNICODE -DQTNOUSINGNAME SPACE -DQTBUILDGUILIB -DQTBUILDINGQT -DQTNOCASTTOASCII -DQTASCIICAST WARNINGS -DQTMOCCOMPAT -DQTUSEQSTRINGBUILDER -DQTDEPRECATEDWARNINGS -DQTD ISABLEDEPRECATEDBEFORE=0x040800 -DUSEMATHDEFINES -DQTUSEBUNDLEDLIBPNG -D QTNOEXCEPTIONS -DQTCORELIB -I. Include” -I”. Include QtGui” -I”. Include QtGui 5.2.1″ -I”.

Include QtGui 5.2.1 QtGui” -I”tmp” -I”image” -I”. 3rdparty libpng” -I”. 3rdparty libjpeg” -I”. Include QtCore 5.2.1″ – I”. Include QtCore 5.2.1 QtCore” -I”. Include QtCore” -I”.moc debug” -I”.

Qt Update Gui From Different Thread

Mkspecs win32-g” -o.obj debug qplatforminputcontextfactory.o kernel qpl atforminputcontextfactory.cpp jom: C: Qt Qt5.2.1 5.2.1 Src qtbase src gui Makefile debug-all Error 2 jom: C: Qt Qt5.2.1 5.2.1 Src qtbase src Makefile sub-gui-makefirst Error 2 jom: C: Qt Qt5.2.1 5.2.1 Src qtbase Makefile sub-src-makefirst Error 2 C: Qt Qt5.2.1 5.2.1 Src qtbase. Thanks Pavel and Vincenzo for your guide! However, the following error kept appearing, and I have no idea why it fails. I am building Qt 5.0.0 from source for msvc2010-64 bit. And I have been building it for days. Ryan, you need to add your icu directories and libraries to your configuration.

The way I did it is to create a script to set the paths and environment variables. Hi I’m trying to build QT4.7.3 in order to get the required libraries for build VBox5.0 on win7 x86. After I built qt, I could see QtCore4.lib and QtNetwork4.lib under QT’s lib folder. But building VBox also requires other libraries including VBoxQtCore4.lib, QtCoreVBox4.lib, VBoxQtNetwork4.lib, QtNetworkVBox4.lib, which can’t be found from building QT. Do you know how to build those missing libraries?

Do I need to build any additional component to get those? The commands I used to build QT are: configure -debug-and-release -opensource -no-webkit -platform win32-msvc2010. Jom jom.exe -j 4 Many thanks. I’m trying to build QT4.8.6 with VS2013 in x64 mode on Win7 Pro.

I know that I need to run all the commands from the x64 command prompt as admin, but I am still getting a compile error. I used Jom and nmake, and in both cases the compilation fails. I downloaded qt-everywhere-opensource-src-4.8.6.zip Installed Perl Made paths to the QT folder on C: QT 4.8.6 To build I do “configure -mp -platform win32-msvc2013 then I do “nmake” It starts to build but after a while (about 30min) I get: moctrackerclient.cpp cl -c -nologo -Zm200 -Zc:wchart- -FS -Zi -MDd -MP -GR -EHsc -W3 -w34100 -w34189 -DUNICODE -DWIN32 -DQTDLL -DQTGUILIB -DQTNETWORKLIB -DQTCORELIB -DQTHAVEMMX -DQTHAVE3DNOW -DQTHAVESSE -DQTHAVEMMXEXT -DQTHAVESSE2 -DQT THREADSUPPORT -I”.

Include QtCore” -I”. Include QtNetwork” -I”. Include QtGui” -I”. Include” -I”. Include ActiveQt” -I”tmp moc debugshared” -I”.” -I”.

Qt Gui From Another Thread

Despite the synchronization overhead, I imagine this approach could avoid crashes. But if the View class you are using can do any autonomous modifications (like drag and drop rearrangement), then it could break the expectations of worker thread code, such as: model-insertRow(0); // Gui could modify model here! Model-setData(model-index(0, 0), subject); // Gui could modify model here!

Model-setData(model-index(0, 1), sender); // Gui could modify model here! Model-setData(model-index(0, 2), date).

Posted :