QML can using 64bit QtCreator build(compile) to 32bit - linux

I just testing qml and want to build small application for my raspberry pi3. For a test I took example and compiled (using kit: Desktop Qt 5.7 GCC 64bit) and this app was working on my 64bit linux machine, but on raspberry not working (getting a lot of errors). So I guess I need compile 32bit version? and if so how can I build 32bit version of this app?
Thank you

Qt Creator is just the IDE. What you need is a Qt version build to crosscompile for the pi3 target architecture. Then you can make a kit with it and compile projects that will run on the pi3. The kit you are currently using is compiled for a different hardware architecture, it couldn't possibly work.
You could also build Qt on the pi3 itself, which will most likely be a lot slower though, and you will have to compile your projects on it as well. I would not recommend that if you have a desktop machine.
Also, the pi3 actually has a 64bit CPU and it is possible to put 64bit linux on it, but I personally don't have the pi3 so I haven't tested it and also I don't seem to find any info on anyone succeeding with a 64bit Qt build, so you may want to do a 32bit build just to be on the safe side.

Related

Are binaries compiled in Visual Studio / msbuild 100% compatible under Mono in Linux?

Are binaries compiled with Visual Studio or msbuild on a Windows operating system 100% compatible with running under Mono in Linux? For example could I compile the binary in Visual Studio or msbuild on Windows and then package it up to be used on Linux or would I need to build the binary using mono on a Linux operating system in order to ensure full compatibility?
Specifically I need to know if a binary generated in Visual Studio 2019 would be 100% compatible under Linux using Mono 5.10
In many cases, the binaries that you build on Windows will work just fine under Mono or .NET Core on Linux. Many interfaces will work on both, although .NET Core is going to be more complete.
However, the only way to know for certain is to test. Even if you produced perfect binaries and Mono had support for every API called, you might still use paths with backslashes in them, which Linux won't support. You won't know that unless you run your testsuite on Linux with your desired interpreter. This is where a suitable CI setup can help, since it lets you run most of those tests automatically.

Convert DLL from Windows to LINUX

I'm using the lastest DELPHI version 10.2.3 with LINUX support and I already managed to compile a console application using the platform LINUX 64 bit and execute this code on my UBUNTU client computer.
Now I wanted to convert a larger project for LINUX.
Question is now : for a exsting DLL which compiles fine for with WIN64, how to add now LINUX support, the add platform buttom in Delphi does not provide the LINUX 64 BIT platform for the existing project
It is not possible to add platform, that wasn't available, when project was created. To fix this, you will need to delete dproj-file and let IDE recreate it.

Deploy to Linux

Background:
Im using QT and have visual studio 2012 as my IDE (used the QT plugin for visual studio).
And finally the whole project is done. However due to my .NET background I have no experience when it comes to deploying my project so it can be run on Linux.
Question:
Anyone knowing how to deploy a QT project made in visual studio to linux?
You should install Linux and prepare a Qt development environment on it.You can then copy your project there, compile it and see the results in the real environment. This way you can cope with the minor differences when porting from one OS to another easily.
So don't think of cross compiling your app for Linux on Windows. From a complexity point of view, I think setting up a Linux machine (VM or not) and the necessary environment for Qt is a whole lot simpler than cross compiling bug hunting afterwards. After all you will need a real target environment to finally test your application.
Before you can deploy something you have to compile it for that platform, and here you have two main choiches: either you cross-compile which means you compile it on windows using a set of tools so that your software is built to run on a linux, or you get a linux machine, you copy your entire project over and let Qt for linux do the magic.
Once you have your working binary compiled on linux or for linux then you start thnking about deployoment.
If you really want to be fully linux-compatible and "linux-ally correct" you should distribute your source-code precooked using some tools like "automake" that will make it possible to linux users to compile it on any linux version.
If you do not want to release your source code, you technically can distribute binaries without source code (not sure if you will be ok with licenses) but you have to be aware that there is no standard in linux for distributing binary packages, there are at least 2 main package building standards that are the ubuntu/debian style and red hat (and friends) style.
You are going to find plenty of documentation about all this stuff from cross-compile to automake and of course building debian packages and building red hat rpm packages.

Running Qt application built for Linux, on windows

I have a Qt application which I built on Linux. I would like to run the same application on Windows. Is it possible? If yes, how? The Qt application software that I downloaded and used, is version 4.7.4.
Is it possible? If yes, how?
Yes, it is possible if the application is cross-compiled for Windows target on Linux.
You would need to have the mingw compiler installed on the Linux box when building the application for Windows. You would also need to make sure to use the proper `-mkspec- option for qmake.
If this is missed while building the application on Linux, it is probably not cross-compiling, so you would not be able to run the code on Windows off-hand unless you have a virtual machine installed for Linux, in which case you could do it, for sure.
You can install a Windows alongside your Linux and install VS2010 and Qt 4.8.* libraries for windows and compile your project there. You may need to make some changes to your source code in order to be compatible with Qt 4.8.* .

How portable is JavaFX 2?

I am thinking of kicking off a JavaFX project on my 64-bit Windows 7 machine. What I am doing is designing a full-screen console application. It's not interactive aside from a barcode scanner.
I'm designing this for what I think would be an Ubuntu laptop or some other Linux variation, although a different Windows OS is a possibility too (as well as 32 bit). From what I understand Java FX version 2.x has made great advancements in portability from its predecessor, but I wanted to ask the community here what their experience was in deploying JavaFX apps.
Have you had success using them on a variety of different architectures? What are some problems you have encountered?
Checkout EstiMate for an example of an all-in-one jar which is runnable via double click.
https://bitbucket.org/atill/estimate/downloads
It requires Java7u10 installed. I plan to make a proper installer for it later on, using the javafx maven plugin. https://github.com/zonski/javafx-maven-plugin. I haven't tested it on Linux or Mac but it does work across winXP 32bit and 64bit windows7.
As long as your barcode scanner works the same on ubuntu as on win and you are not using any external libraries, you won't notice the difference between those systems from your app.
I found installing oracle JRE on ubuntu the most difficult task. (with JRE_HOME, etc.) Even on Archlinux was easier than ubuntu.
Nevertheless, once the JRE is set, your app will run even on Raspberry Pi (which is ARM not x86)
Remember about file system differences between systems.

Resources