Configuring QT Creator on Windows 7 (Raspberry pi is target) - raspberry-pi

So I will start off by saying that I do NOT want know how to setup or run QT on the pi. I am specifically trying to setup Qt Creator 4.0.3 (Based on Qt 5.7.0 (MSVC 2013, 32 bit)) to write and compile C++ and the run it on the Raspberry pi 2. I have found that running qt on the pi is far to slow.
I have searched for two days to find the right toolchain download for qt/raspberry and its corresponding qt configuration. Nothing seems to work. I have found what seems like a thousand dead ends searching the web. I can write and compile apps for windows console fine. But finding information to cross compile for raspberry seems to be an elusive Unicorn!
Does anyone have this working??? If so which of the many toolchains did you use? And please help me replicate your QT configuration. The closest I have come is using the GCC ARM Embedded toolchain but I cant seem to get the QT options set correctly and I believe that only gets me part of the way there. My ultimate goal is to control GPIO and use the RadioHead library.
Thanks in advance!

I also wanted to do that, and I actually achieved it, It's called "cross-compilation", you build on the Main PC and then compile it to the target.
Initially I wanted to use my main PC with windows 10, but I ended creating a linux partition on my pc to do it since I didn't found any way to do it with windows.
Qt has a very comprehensive tutorial with Qt5 and RaspberryPi2 (both with linux), the only problem is you need linux on your pc to do it. If you want to do this I would suggest following this steps:
Create a linux partition with the same os as in the pi (for example raspbian and debian) and name the username (in linux) "pi" and the password "raspberry". This will help you with external libraries.
Install Qt for Linux on your new partition
Follow Qt's tutorial on https://wiki.qt.io/RaspberryPi2EGLFS
The tutorial is really straightforward, I really recommend it.
Good Luck.

Related

How to cross-build a debian package for Raspberry Pi OS 64 bit

I have a working debian package that I'd like to backport to the current version of Raspberry Pi OS 64 bit (not 32-bit Raspbian).
Confusingly, while Debian itself seems to be robust about enabling cross-builds in their own package, there seems to be much less official documentation about how raspberry Pi OS (64 bit) packages are built¹.
Since I'm relatively certain this should be possible, I ask:
How to take a debian .dsc / debian rules, and build, on an x86_64, a 64 bit Raspberry Pi OS 64-bit compatible image
without using QEMU to actually build the image on arm64, without access to an actual RPi,
using an existing debian package that is known to work on sid on aarch64, and should be backportable,
making sure it's actually built against the correct set of Raspbian dependencies.
I'm guess this is a rather standard thing, I just don't know how to do it. I'm happy with using containers and similar technology, as I can easily integrate that with CI.
I do not plan to use an Arm64 VM, as the software in question takes about an hour to build and test, on an x86_64 server, natively.
¹I've talked to plugwash of Raspbian fame, and as earlier versions of this question showed: there's significant confusion about the heredity of Raspbian OS 64 bit: It's not Raspbian nor based on it. But people including Wikipedia and the RPi Foundation themselves conflate Raspberry Pi OS and Raspbian ("Raspberry Pi OS, formerly Raspbian"), which is 32 bit only.
RaspberryPi documentation here has explained how to build the x64 kernel from the source. What you want is in a way exactly like that.
Notice this line on the Kernel building page:
sudo apt install crossbuild-essential-arm64
This command on your Linux host machine installs a compiler that runs on an AMD64 machine but produces a binary that runs on an ARM machine.
And this line tells the compiler to actually build the source for that architecture:
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- Image modules dtbs
Image modules dtbs are specific to your project. they may differ.
As for your Debian package, there is no way that you can transform an AMD64 package into an ARM one. Your package for the RaspberryPi if doesn't exist in an official or some third-party repository, must be built from the source.
Find the source code of your package and build it very similarly to RaspberryOS.
If your Package has dependencies it gets a little more complicated. First, install the dependency on your RaspberryPi. Then you should set up a sysroot on your host machine which is basically a mirror image of the preinstalled packages on RaspberryPi. Then for compiling your package you should give the sysroot address to cross compiler so that it can find dependencies.
There is another way too, you can put the source code of your package on your RaspberryPi and build it locally which can take a very long time based on the source code. Just to have a sense, Qt source code without WebEngine module took 48h for me. But Qt is big.
In conclusion, if your package binary is not on any repository you must compile it from the source.
Cross-compilation of different projects and executables are very similar to each other. To have a clear understanding of the process it can be beneficial to look for some other projects that were ported to RaspberryPi OS. Things like Qt, TagLib for android, and ...
First, I would take a look here:
https://github.com/Truelite/qt5custom for inspiration. I checked and those scritps work. However, you might have problems going completely „qemuless”; e.g. in case of QT some libraries needed to be added to host machine sysroot and qemu was simply the easiest way to add them properly: it seems to me that multiarch Debian has some deficiencies in the field of cross-compilation and the simplest way to overcome them is to pretend it’s the native one.

DLL not found error using uFllex in Unity

I have bought, downloaded and then installed uFlex for Unity. The install seemed to go without any errors, but when I try to run any of the example scenes I get lots of errors. The first and most serious sounding of which is:
DllNotFoundException: flexRelease_x64
uFlex.FlexSolver.Start () (at Assets/uFlex/Scripts/Solver/FlexSolver.cs:102)
Also the scenes don't seem to run/work. Have tried googling to see if it's a common error but that didn't show up anything. Tried finding the missing DLL but not sure where to put it, or whether it's platform/version specific?
Any thoughts on how to troubleshoot this
Anyone else have similar issues?
Not sure if it's relevant but I'm running Unity Version 2017.2.ob11 Personal, and my OS is Ubuntu 16.04.5 LTS. I have windows installed as well - is switching to running Unity under Windows likely to help?
It won't and shouldn't work on Linux at this point.
Read the requirement from the plugin page:
NVidia GPU with at least CUDA 3.0 compute capability
Windows 64 bit (Win 32bit experimental, Android and Linux support planned)
The support is currently for Windows. You get the exception because the dll for Linux has not been provided. It can't load Windows dll on Linux. If the native side (C++) of the plugin is open-source, you can compile it for Linux and include it in your project then it should work. Since it's not, your only option at this moment is to switch to Windows.

Is it possibile set up Storm on a single raspberry pi 3?

I've seen on StackOverflow that's possibile develop a cluster composed of a single node.
My challenge is maybe harder: setting an apache storm environment on a single raspberry pi 3. I know that is a very limited machine to do stream computing, but mine is a research interest. Until now, I have not found system requirements to setup storm on a machine, someone can help me?
Thanks to all
Yes, Ideally it should be possible once you have Linux OS installed for e.g. Ubuntu Mate on Raspberry Pi 3.
You may be required to make sure you have these packages installed:
Java 7
Python 2.
Then follow below link for a basic setup of Storm:
https://github.com/vrmorusu/Storm/wiki/Apache-Storm-on-Cloudera-VM
You may build uberjar files containing Storm topology files on your local machines to avoid installation of maven and other build tool dependencies.
It would be great if you can try this and post your success story or issues seen in this forum. It will help getting more focused answer(s) for problem(s).

Found the NXT device but can not upload a program to NXT

I'm using Ubuntu 14.04 (64 bit). After installing leJOS_NXJ_0.9.1beta-3, I was able to flash the NXT device. However, when I tried to upload a program, it showed a message "Found NXT: NXT 0016530CDF15" and then just stuck there.
I also tried Eclipse with leJOS plugin, and got the same problem. It showed
Program has been linked successfully
Uploading ...
Found NXT: NXT 0016530CDF15
and it got stucked there.
Can anybody help me with this issue?
Thanks,
Thuy
This site might be able to help, it provides the information to install and configure correctly all the software necessary for you to develop Java programs for the NXT, maybe by following this site it will hopefully fix the problem.
This tutorial will show you how to install and configure all the software necessary for you to develop Java programs for the LEGO Mindstorms NXT. Java is much more powerful and flexible than the original NXT-G software that LEGO provides. We will be using the Eclipse editor to write the actual Java code and to download this into the NXT. This combination enables you to conveniently write software and to quickly test it on the NXT. Of course there are many other Java editors, but we consider this combination to be particularly convenient. This tutorial focuses on the Windows XP platform, A Mac OS X tutorial is also available. We have two additional steps for Windows Vista. You will work through the following five steps - See more at: http://www.bartneck.de/2008/03/04/java-lego-nxt-eclipse-tutorial/#sthash.h1ZOZvlX.dpuf

Issue with Netbeans

I have installed netbeans in my PC (windows 7), wrote a javaFX application program and generated executable jar file
I finally need the executable jar file to be working on Raspberry pi linux and I want to use only openjdk since oracle java for Rpi doesn't support AWT and Swing and my application majorly includes that.
When i tried to execute the jar file using openjdk, i am getting an error - you need to install newer version of JRE to execute this file. I have also tried to execute the same file in ubuntu to verify if there is something wrong and its showing the same error
But, the jar file was executed properly through oracle java in ubuntu. I also tried using Oracle java on RPi, but it opened but didn't work properly.(expected, because it doesn't support AWT and Swing)
So, I think i have an issue opening the file using openjdk. Can somebody help me with this
Thanks in Advance
I am in the process of buying my Raspberry Pi but have already started looking at the development environment I will need. You may find what you are looking for in these very clear resources I found:
http://adf4beginners.blogspot.co.uk/2013/04/how-to-get-java-embedded-suite-running.html
http://docs.oracle.com/javame/config/cldc/rel/8/rpi/html/getstart_rpi/toc.htm
As Ryanteck mentioned, you will probably have to be running Raspbian (item number 1, the tutorial, uses that OS).
Good luck
The Raspberry Pi's recommended OS does not support Java at all. The main thing to try is to test it using the Debian Soft float image which should support Java on the Raspberry Pi fine. But it is still in development so may not work.