Qt creator remote debugger - qt

I am trying to hook my beagle board to qt creator 2.3.1 running on Ubuntu Linux. I tried to find a good tutorial for this and found that qt documentation has nothing on this.(I do not understand why there is a feature which documentation does not bother to explain how to use). Could some one please explain how to do this?

Cross compile qt for beagle board This post should be at help
Open Qtcreator and go to project tab and select the tools -> options. Select Linux devices and add the device. For this beagle board need to be attached. For the option of host name it is required to add the ip address of the device. Other than this other fields are self explanatory. Test Button would assist in checking the device addition.
Then in the project settings under Run configuration in the Deployment drop-down box select Build tar ball and install.
At this point tool chain and the cross compiled qt version should be added in the qt creator.
Basic procedure should be done by now and when the application is run it should be deployed on the device at the specified location.

Related

QML crashed if static build

I build static Qt 5.10.1 with mingw32.
Ref: https://github.com/arkceajin/QtDemos/blob/master/windows-build-qt-static/windows-build-qt-static.ps1
For testing purpose, build an empty QML project, it could run perfectly in QtCreator.
But if I copy the release build to another Win10&7 PC which doesn't contain the Qt environment, it will crash after the windows appeared. I'm guessing something missed inside QML.
Update:
I found No qmlscene installed appears in the Qt Versions tab, not sure it relates to the issue or not.
These two files did generate in the build folder.
projectname_plugin_import.cpp
projectname_qml_plugin_import.cpp
Found the similar issue: https://forum.qt.io/topic/42145/i-can-t-run-static-qt-qml-app-on-another-computer
Update 2:
Problem solved but I want to know why.
Here is I tried:
Connect a Win PC using remote desktop from another Win PC, run a static build QML program, then it crashed immediately after the Window appeared.
Directly login into the same local machine, run the same static build QML program, successful run.
Using the remote desktop run dynamic link QML program with Qt libs, successful run.
So the problem is Windows remote desktop, but I can't find the doc or bug report about it, if you have any idea or guessing, please help me.

Library /data/data/../files/../lib/libMAPSJNI.so not found

I followed this tutorial from the website but I still get "Library /data/data/../files/../lib/libMAPSJNI.so not found" when I try to run the app. I am using eclipse and trying to run the app using the emulator with a device with an Intel Atom (x86) CPU with Android 4.4.2. In my libs folder I do have a file called libMAPSJNI.so.
Sorry, we do not support x86 emulators or devices. Please select an arm emulation image. However please note the emulator's graphical emulation is not perfect and may not work.

how to install Trolltech/QtEmbedded-4.6.3-arm

To execute the Qt executable in ARM board i need Trolltech/QtEmbedded-4.6.3-arm , but I don't find any site to download and install Trolltech/QtEmbedded-4.6.3-arm. Anybody having idea of how to do it please guide me
Angstrom cross compiler is better option when compared to Trolltech/QtEmbedded-4.6.3-arm because the Angstrom cross compiler works fine in arm based boards.

How to do a remote debug using GDB from Qt Creator?

I'm working on a Embedded Linux application and I would like to use GDB to debug it. The problem is that, although the Kit configuration seems fine (the Debugger option is correctly pointed to the GDB correspondent to the device's GCC - device is a Linux ARM), when I ask Qt Creator to run in debug mode it returns an error in the "Application Output":
sh: gdbserver: not found
This seems strange since, as I sad, the configuration is fine and no error about that is reported by Qt Creator in any moment before starting debug mode.
I did some research on the web to find which was the exact steps to use GDB to debug an Embedded Linux application from within Qt Creator (to use breakpoints, etc.) and the closest thing to an answer I got was this commentary by Tobias Hunger:
You will need to have ssh and gdbserver installed on your board for
this to work. Then you need to set up your board [qt-project.org] in
Creator. Afterwards you need to set up a kit [qt-project.org] using
this device.
Those steps, thought, are not clear to me.
First, why would I need to have a GDB inside the device if the Kit should point to my local GDB?
Or it shouldn't?
Where would I put the GDB anyway?
How do I know if I have this ssh on my device?
If I don't, how do I install it?
All the other mentioned steps are already done, but related to the GDB located on my Desktop Ubuntu. Should I change something if I do the above steps?
And of course, is this manual my Tobias complete or do I need to do something else for this to work?
You need gdb and ssh on your Ubuntu and gdbserver and sshd on your device: actually when you deploy a project on a remote device using QtCreator, it makes use of ssh for copying the files to target, then it launches gdbserver on the device (attached to the executable that you want to debug) and then launches gdb on your Ubuntu connecting to the running gdbserver on the device.
So you need all of them to make things working.
ssh and gdb can be installed on your Ubuntu simply via apt-get. Instead the installation of sshd and gdbserver on your board is platform-specific: it can be that some boards already have them in their standard system image, or maybe in some cases it is up to you to install them... if your Linux distribution on the board has some package manager then you might try to use it... in the worst case you will have to compile them on your own for your board and install them manually.

setup Qt and PyQt on mac osx so my app can also deployable on windows

I've been coding with Python and C++ and now need to work on building a gui for data visualization purposes. I work on Mac Snow Leopard (intel), python 3.1 using gcc 4.2.1 (from Xcode 3.1)
I wanted to first install Qt and then PyQt. And my goals are to be able to:
- quickly prototype GUI and the accompanied logic that drives the GUI using PyQt and python
- if I decided I need the speed, or if it's fairly easy to translate my GUI into C++ using the Qt tools, I have the options to translate my app into C++
- Be able to deploy my application onto Windows (both the python and c++ version of my app)
Give the goals above, what are the correct steps I should take and what issues i should be aware of when setting up Qt and PyQt. Which other deployment tools do I need?
From my readings so far, here's what I have:
download the Qt source for mac and configure it with
-platform macx-g++42 -arch x86_64 -no-framework
(i've read somewhere that
building as framework causes some
trouble in deployment and/or
debugging, can't find the article
anymore)
download latest SIP source and build
download latest PyQt and build from source (any special options I should pay attention to?)
For deployment, I've read that I would need to use py2exe/cx_freeze for windows, p2app for mac:
http://arstechnica.com/open-source/guides/2009/03/how-to-deploying-pyqt-applications-on-windows-and-mac-os-x.ars
but seems like what the article describe is deploying an app you build on windows on the windows platform and vice versa. How do you deploy to windows (is it even possible?) if you are writing your Qt app on a mac ?
Really appreciate the help
I'm guessing by deploying, you mean a compiled version to users that have no Python or Qt or anything.
I'm been trying py2app for a while now and never really worked out for me. You can try PyInstaller. It worked out pretty well for me since it's made to work with plugins like PyQt and PIL etc. I put up some instructions here
http://tech.xster.net/tips/deploy-pyqt-applications-on-mac-os-x-with-pyinstaller/
They don't really support cross-compilation though. Just recently, they made cross-compilation for windows binaries on linux possible. If you want to spend some time hacking it, it's probably possible. But probably easier just to get a windows machine and building a binary with it.

Resources