Qt5 QWidget project dependencies? OpenGL? Direct3D? WTH?
-
Not intending to be rude, but you do exhibit the typical fanboy behavior, you remind me of those Apple or AMD fanboys that feel obligated to defend and justify each and every decision of their cult/company, no matter whether it makes sense, is productive, efficient or anything. Normally the personal opinion of normal (non-fanatically devoted fanboys) is formed by a series of pro's and con's which shape an overall shade, but with you this doesn't appear to be the case.
So let me ask you, do you happen to find anything that has happened in Qt the last few years wrong? Or do you take each and every decision to be the right one for granted? I've never seen you criticize anything, you always justify, you always approve... I hope at least you get paid for this, but probably yes, judging by your choice of visual representation - a faceless black suit labeled Qt...
-
I just don't see the problem, but feel free to file a "bug report":https://bugreports.qt-project.org/. "Patches":https://codereview.qt-project.org/ are welcome as well.
-
LOL and that is the automated response you always resort to, even in situations where there is no bug involved, like this one.
Happy new year!
-
You want something changed in Qt. There are two ways to achieve this, regardless whether it is a bug, a feature request or a change request: you either file a bug report so the QtProject might do the work for you or you do the changes on your own and submit them.
Moaning here at the forums does not change anything.
-
Nope, there are no ways to achieve this, one too many times have the requests of the community been arrogantly disregarded as groundless moaning of clueless idiots while the stupid decision behind Qt are being justified with every possible means.
How stupid is it to have a dependency on OpenGL and Direct3D in an application that doesn't use either??? Oh no, it is not stupid, it is just yet another of the brilliant decisions pushing Qt forward into a better and brighter future.
There are many decent people that have been quick to help me out when I needed help. And then there is you, with a "helping to preaching" ratio so low I'd appreciate it if from now on you refrain from following my every post with your dedicated pimping of an illusion of greatness and concern with the developer base. So I would really appreciate it if you cut the "political agenda" BS - if you are capable of such a feat, something that sadly cannot be said for most of fanboys out there.
-
I didn't mean to infantilize you.
I just don't see the relevance of your request in practice. This does neither mean that your requests are "...groundless..." that make you an "...clueless idiot..." and me the incarnation of ..."greatness and concern...", nor that I'm right and you are wrong - it just means that I have a different opinion on the question you've asked and the points you've raised, and that I do not find your arguments suitable enough to convince me of the contrary. That's the nature of discussions, and no reason to get into a huff.
Granted, the granularity of modularization can be argued over, most probably for all eternity. But I don't see the current one beeing disputable relating to dependencies, because there is still the option to not depend on stuff I do not want or need to, for example OpenGL or DirectX. Officially released shared libraries will always compel you to distribute stuff your application does not depend on, be it other shared libraries or data and code in existing libraries you do not use, because they are made to support any application, not a specific one.
It is indeed your right to think that I'm wrong and to demand changes if you think that a wrong decision has been made, by either filing a bug report or participating in development - of course at the risk that others don't find your arguments suitable enough as well. Not every decision you find "...stupid..." has to be actually stupid.
And I again invite you to join the Qt Development Mailing List and the Qt Open Governance Code Review to find out how and why decisions are made in the Qt Project.
-
I still cannot get the Qt5 executable to run on another system... Dependency walker wasn't much help - I get no errors, no notifications, no nothing, the exe just doesn't start. I managed to make it run on the development machine outside of Creator, but that's about it...
Those are the DLLs I added:
D3DCompiler_46.dll
libEGL.dll
libGLESv2.dll
msvcp110.dll
msvcr110.dll
Qt5Core.dll
Qt5Gui.dll
Qt5Widgets.dll
qwindows.dllHaven't added icu since I built Qt5 without the webkit...
-
[quote author="Lukas Geyer" date="1356970453"][quote author="utcenter" date="1356963333"]I get the feeling the Qt4 solution was more elegant - the same build can be used to develop OpenGL applications, but for those that do not use OpenGL, it is not a requirement...[/quote]It was a deliberate design and release decision (I don't see a reason one would not take advantage of OpenGL unless there are very specific reasons, in which case you can still remove the dependency using <code>-no-opengl</code>). Separation and abstraction does not come for free.
In addition, deployment is a Windows issue only, a platform where Qt is usually deployed with the application anyways.
[quote author="utcenter" date="1356963333"]BTW shouldn't platform specific APIs be abstracted from? The logical thing would be for the same Qt APIs to be ported to work work regardless of the platform's vendor specific APIs? Wasn't the very idea of Qt to be platform agnostic?[/quote]What platform-specific resp. vendor-specific APIs?
[/quote]
Entering a configure options list like the one below:
configure -developer-build -opensource -nomake examples -no-opengl -no-icu
Fails miserably
-
[quote author="Lukas Geyer" date="1356970453"][quote author="utcenter" date="1356963333"]I get the feeling the Qt4 solution was more elegant - the same build can be used to develop OpenGL applications, but for those that do not use OpenGL, it is not a requirement...[/quote]It was a deliberate design and release decision (I don't see a reason one would not take advantage of OpenGL unless there are very specific reasons, in which case you can still remove the dependency using <code>-no-opengl</code>). Separation and abstraction does not come for free.
In addition, deployment is a Windows issue only, a platform where Qt is usually deployed with the application anyways.
[quote author="utcenter" date="1356963333"]BTW shouldn't platform specific APIs be abstracted from? The logical thing would be for the same Qt APIs to be ported to work work regardless of the platform's vendor specific APIs? Wasn't the very idea of Qt to be platform agnostic?[/quote]What platform-specific resp. vendor-specific APIs?
[/quote]
Entering a configure options list like the one below:
configure -developer-build -opensource -nomake examples -no-opengl -no-icu
Fails miserably
-
Define 'fails miserably'.
If you are not going to autotest Qt you do not need a <code>-developer-build</code>. And never release one.
-
Use static build, you will have one .exe (about 15Mb) worked from flashdrive elsewhere.
-
Unfortunately, that is not an option for commercial applications if you don't have a commercial Qt license, which is pretty pricey, especially for startup indie developers.
-
[quote author="utcenter" date="1357159840"]
Those are the DLLs I added:D3DCompiler_46.dll
libEGL.dll
libGLESv2.dll
msvcp110.dll
msvcr110.dll
Qt5Core.dll
Qt5Gui.dll
Qt5Widgets.dll
qwindows.dll
[/quote]
Should be /platforms/qwindows.dll, i.e. in a sub-directory. -
[quote author="Lukas Geyer" date="1359052917"]Define 'fails miserably'.[/quote]
41 linker errors beginning with failing to build Qt5PrintSupport.dll.
That's miserable!
-
You may provide any other information than 'miserable' if you are out for decent help, like the Qt version you are trying to build, the compiler and the configuration and the actual linker errors.
-
[quote author="Lukas Geyer" date="1359061129"]You may provide any other information than 'miserable' if you are out for decent help, like the Qt version you are trying to build, the compiler and the configuration and the actual linker errors.[/quote]
I'll try. As I said 41 linker errors are a lot to display. What would be the best way to illustrate them?
I downloaded version 5.0 for Windows 32-bit VS2010 to a Win 7 x86 machine with Active Perl, Python, Win SDK 7.1.
Ran configure without opengl , icu.
Ran nmake.
As nmake attempted to link Qt5PrintSupport.dll, Link errors. -
[quote author="astodolski" date="1359062332"]As I said 41 linker errors are a lot to display. What would be the best way to illustrate them?[/quote]
I think a "paste":http://pastebin.com/ of the failed compilation step including the linker errors should be sufficient.
In addition, I do recommend to use the "source package":http://releases.qt-project.org/qt5/5.0.0/single/qt-everywhere-opensource-src-5.0.0.zip found on the Downloads page instead of the 'Source' options of the SDK (they were different at least for Qt4, don't ask me why and if this has changed for Qt5).
-
[quote author="Lukas Geyer" date="1359096095"][quote author="astodolski" date="1359062332"]As I said 41 linker errors are a lot to display. What would be the best way to illustrate them?[/quote]
I think a "paste":http://pastebin.com/ of the failed compilation step including the linker errors should be sufficient.
In addition, I do recommend to use the "source package":http://releases.qt-project.org/qt5/5.0.0/single/qt-everywhere-opensource-src-5.0.0.zip found on the Downloads page instead of the 'Source' options of the SDK (they were different at least for Qt4, don't ask me why and if this has changed for Qt5).[/quote]
As per your suggestions, I did the following:
I have been using the "source package" since the start of this issue. I copied the contents to: C:\Qt\5.0.0
I executed in the root folder: configure -opensource -nomake tests -no-opengl -no-icu
Output is posted "here":http://pastebin.com/Fcb2g4Tv
-
Hey Lukas, I posted my findings so as to obtain "decent help". Were you able to have a look?
-
Looks like you don't link against gdi32.lib for some reason. Do you build from a VisualStudio command line?