QT installation on Mac - qt

want to know if it is adviseable to install the Qt SDK in the Developer/SDKs folder. I wanted to put it in there but I get the following warning:
You have selected an existing, non-empty folder for installation.
Note that it will be completely wiped on uninstallation of this application.
It is not advisable to install into this folder as installation might fail.
Do you want to continue?
Where is the best place to put it. I had QT SDK installed earlier, but while compiling some examples he couldnt find the header files. The installation guide from trolltech is a bit confusing. Thanks in advance

The reason you are seeing that message from the Qt SDK installer is that it expects you to append a new folder name to the path. The default installation location for the Qt SDK is
~/QtSDK
If you wanted to place it in Developer/SDKs, you should enter
/Developer/SDKs/QtSDK
The /Developer/SDKs folder is the normal location for Mac OS X SDKs, as used by Xcode and the GNU toolchain. Xcode looks inside subfolders of /Developer/SDKs to populate the list of available SDKs in the Base SDK project setting, so I would avoid placing Qt here and leave that location for Mac system SDKs.

Related

Could I remove or move the folder NuGetFallbackFolder?

Could I remove the folder C:\Program Files\dotnet\sdk\NuGetFallbackFolder\ or move it to other folder? (better not in disk C)
If could remove, how to remove? delete the folder directly? any side effects or damages?
If could move, how to move? target folder like D:\NuGetFallbackFolder? How can I do it?
This folder contains a set of Nuget packages that the SDK expects to use. It's used as a nuget source whenever dotnet is trying to resolve nuget packages. Removing is generally similar to removing your nuget cache: .NET Core will simply not find the packages and download them into the (normal, non-NuGetFallbackFolder) local nuget cache.
Some distributions of .NET Core do not contain the NuGetFallbackFolder. The only consequence is that dotnet will download all those packages as soon as it needs them (possibly on the first SDK command).
If you move it around, .NET Core won't know about the new location and just treat it as if you had deleted the directory. On Linux, I would use a symlink to point from the old location to the new one. I don't know if Windows supports that.
after searching the internet and trying some in vain:
deleting the NuGetFallbackFolder in the corresponding .NET SDK and
repairing in Windows Uninstall Programm helps really
in my case it worked : the build process in solution got all new in

Deploying pyqt application to Windows using pyqtdeploy

I would like to deploy for the first time my first app made with PyQt5. I found pyqtdeploy (link) to be probably what I need to do this for Windows and other platforms.
Anyway, I am following this tutorial, but, as I am completely new to deploying applications, I am not sure on one thing: do I need to download Qt for the target specific platform I need to deploy my app to? If so, am I supposed to use qmake from that Qt installation against the result of pyqtdeploy? For example: if I want to deploy to Windows, do I have to download Qt from here (and which version???)?
From the same tutorial page, this is not so clear, maybe it's obvious, but as I am a newbie in this, not for me.
No you don't need to download Qt.
When building your 'sysroot.toml' file, pyqtdeploy will download qt-everywhere-src and builds it from source.
In the built sysroot directory you can find qmake executable in "...\Qt\bin" (qmake.exe) depends on where your project files (sysroot.toml file) are.
For example if your host machine is Windows and C:\Users\username\Desktop\My_PyQtDeploy_Proj is your project folder which contains sysroot.toml, after building sysroot you can find qmake in "C:\Users\username\Desktop\My_PyQtDeploy_Proj\sysroot-win-64\Qt\bin\qmake.exe"

Problems with deploying Qt5 application on windows

So I have Visual Studio 2013 (community edition) with Qt addin installed, Qt5 libraries (32bit), and I'm trying to create an executable that is independent of all development configurations (it may use static or shared libs, I don't really care at this point).
OS: Windows 7, x64.
For doing this I changed the Solution Confguration visual studio option from Debug to Release, and add all the necessary libs in Configuration Properties -> Linker -> Input -> Additional Dependencies. The application now starts only if I run it from visual IDE, If I try to start it from the generated .exe I got The application was unable to start correctly (0xc000007b) error.
I have searched and found that this error code indicates one of the following problems:
32-bit app tries to load a 64-bit DLL (not my case I think, Qt DLLs are 32bit (I have installed using this .exe: qt-opensource-windows-x86-msvc2013-5.5.0.), and I use some other .DLLs which are also 32bit).
There are some missing DLLs. (I did copy all the necessary Qt DLLs in the same folder with the final executable).
For checking what dependencies my app requires, I opened the .exe file with Dependency Walker application, this is what it shows me:
in this list were also Qt5Multimedia.dll and Qt5SerialPort.dll, I get rid of the errors by copying the .DLLs in the same folder with the .exe.
Any ideas how to solve this?
You should never do that operation manually unless the standard procedure completely fails. There is already standard tool for Qt Windows deploymend windeployqt.
It takes care about Qt DLL dependencies, makes a copy of platforms\qwindows.dll and also it makes a copy of libraries that you cannot detect with the Dependency Walker, since image plugins and some other are loaded at runtime.
You do not even need to have your Qt bin folder in your environment PATH. The simplest deployment:
copy built exe binary to a new folder
open cmd console in that folder
call windeployqt using its full path (if it is not in the system PATH) and provide your executable, for example:
c:\Qt\Qt5.5.1-vs2013-x64\5.5\msvc2013_64\bin\windeployqt.exe application.exe
As a result you have in that folder all needed Qt DLLs. Of course you can have also issues with MSVC redistributables, but those should be deployed separately and installed once per system.
The tool windeployqt has various options. It can also take care about deployment of qml related files.
Only some 3rd party libraries should be copied manually if they are used, for example OpenSSL.
Solution:
As I got deeper, I have found this answer, after doing what that answer indicates (I actually copied all the .DLLs located in \Qt5.5.0\5.5\msvc2013\bin to the folder where my .exe is located), the error message changed from The application was unable to start correctly (0xc000007b) to Application failed to start because it could not find or load the QT platform plugin “windows”.
Searching on web for more about this error, I have found from this answer that you also need the platforms folder in the same location with the .exe (which was located in Qt5.5.0\5.5\msvc2013\plugins path). After copying that folder, the application started without any problems!!!
Now I just need to delete all unnecessary .DLLs from my application folder (Dependency Walker does not offer very useful information about this), and all the deployment is done.
I have solved the problem in the same time as describing it, so I guess I will just leave this here, may help others that have the same problem.

Qt5 reference documentation: qch files

I want to view Qt reference documentation inside QtAssistant, but the installation of Qt5 did not come with .qch documentation files for Qt libraries.
I have tried to find them on the http://qt-project.org but could not find them anywhere.
How do I get the Qt5 documentation files ?
I am using Ubuntu 12.10, I have installed the new qt-library sdk from the qt-project website.
Open Assistant (5.0.1/gcc/bin/assistant) and then go to Edit -> Preferences menu.
There's a Documentation tab. If the list is empty, add the .qch files found in the 5.0.1/gcc/doc/ directory.
This is how it looks. This is Ubuntu 12.10 as well.
Qt 5.0.1 installed with the qt-linux-opensource-5.0.1-x86-offline.run package (388Mb).
Yes, the official Ubuntu-documentation for Qt5 is very incomplete. You don't have information about nearly any class.
If you want to use the QtCreator/QtAssistant build from Ubuntu you have to acquire the docs yourself. I did and uploaded these on my personal Mega-account. Here are the docs. I installed the Qt framework with the installer from qt-project.org, grabbed the documentation and inserted it into the software-center-version.
I don't use QtAssistant as a stand-alone program but integrated in QtCreator. To add the docs to QtCreator go to Tools>Options>Help>Documentation and click add. Then select all .qch files, click apply and enjoy. Maybe try the way as mentioned above.
After all, you can just download the necessary *.deb file from the store of the Ubuntu packages, and install it on your system. As they wrote here, this package will install the *.qch files in /usr/share/qt5/doc. The pitfall is that you will have to remember that you have done that, since your Ubuntu will not take any records for you.

How to install a Qt application on a customers system?

I've got a Qt app that I need installed on a customers computer, which I can't assume has Qt installed on it. I'm on a Mac OSX and the computer I will be installing it on some Unix based system. I will be installing it myself so I don't need a GUI installation wizard or anything like that. Ideally I'd like to end up with a script or makefile, along with a folder of all the sources and necessary libraries, I just don't know where to start. References would be much appreciated, I haven't found anything useful after many google searches.
My question lies somewhere between these two:
Can you create a setup.exe in qt to install your app on a client computer?
Create Linux install for Qt application?
I don't need a full-blown install wizard (question 1), but I also won't have my machine at the installation site to just keep copying libraries until all dependencies are met (question 2). Basically I need to have everything on a CD ready to install when I get there. Thanks in advance.
There are two ways to install a Qt application on a system:
1 - You can compile Qt statically. This will allow you to deploy you app without any qt dependencies.
2 - You need to deploy your app with Qt librairy files you need (like qtcore.dll on Windows)
You will find all explications for each platform in the Qt documentation : http://qt-project.org/doc/qt-4.8/deployment.html.
To create installer you can use InstallJammer for Windows and Unix.
For MacOSX you need to create a dmg image. This is very simple. Read the following web page for help : http://www.wikihow.com/Make-a-DMG-File-on-a-Mac. By using apple script you can customize dmg (like an Application folder link into the dmg).
My preference for Win32 installer is NSIS.
Hope that helps!
Not sure why you want to avoid the install wizard. It can also help you create Uninstaller, desktop and start menu shortcuts, etc. As mentioned in the posts you refer to, you could use BitRock InstallBuilder (Nokia uses it for Qt Creator)
If you do not want to use a wizard and don't want to compile statically, then you can bundle Qt libraries in the same folder as the app and setup a shell script that sets the LD_LIBRARY_PATH to that directory

Resources