Making Lazarus compile for Windows CE - windows-ce

I've been trying to set up Lazarus to compile for Windows CE 5.0, specifically for a Motorola MK-4000. However, I'm not having much success, and the instructions to set up the IDE appear to be outdated.
I'm using Lazarus v1.8.4 for Windows x64.
The problem starts when I'm told to download and install cross-arm-wince from the same download page as Lazarus. There is no such thing there. I did however find lazarus-1.8.4-fpc-3.0.4-cross-i386-win32-win64.exe which is the only mention of "cross" I can find. Not what I need, but installed anyway.
Now I go to set up my project in the IDE. I start a new application, but Project -> Project Options -> Compiler Options -> Paths -> LCL Widget Type or Project -> Project Options -> Compiler Options -> Paths -> Select another widget set (Macro LCLWidgetType) are not found, nor do I see any mention of "Widget".
Next two instructions for Target OS and CPU Family are okay, I found those settings and changed to WinCE and arm.
Upon saving project options, I see an error message:
Compiler "C:\lazarus\fpc\3.0.4\bin\x86-64-win64\fpc.exe" does not support target arm-wince
Except for the "Widget" setting I couldn't find, now I try to go ahead and build a new unaltered application. But to no surprise, I get an error:
Error: ppcarm.exe can't be executed, error message: Failed to execute ""ppcarm.exe" -Twince -MObjFPC -Scghi -O1 -g -gl -l -vewnhibq -FuC:\lazarus\packager\registration\ -FUC:\lazarus\packager\units\arm-wince\ fcllaz.pas
I went ahead and installed the arm-wince from FPC 3.0.0 (My Lazarus version came with 3.0.4), and it installed into its own FPC directory outside of the Lazarus directory. However I'm extremely new to FPC/Lazarus and have no idea how to make the IDE actually work with the other compiler.
As a dirty trial, I temporarily copied the compilers from the 3.0.0 dir to the 3.0.4 one, and the first attempt failed (I didn't note the error message at that time), but I just tried again and it compiled! Obviously blindly dumping files into the bin is not the appropriate solution, as I'm sure there's a proper way to configure this. It doesn't run on the device anyway, just shows the title in the taskbar and no UI ever opens.
What am I missing to get Lazarus to compile for Windows CE?

Well, that is a win32->win64 crosscompiler. You need a win32 -> arm-wince compiler. (assuming that the device is arm and not i386)
Not the same thing. Seems that prebuilding for arm-wince has stopped, so you have to build your own. Try reading the buildfaq.
For 3.0.0 the relevant crosscompiler is prebuilt, maybe it is enough for simple testing: ftp://ftp.freepascal.org/pub/fpc/dist/3.0.0/arm-wince/

Related

vscode crashes on Arch linux when opening file/folder

Installation vscode
I'm running Arch Linux (Manjaro) and installed vscode with:
sudo pacman -S code
but then a simple .NET core program resulted in
--------------------------------------------------------------------------------
You may only use the Microsoft .NET Core Debugger (clrdbg) with Visual Studio
Code, Visual Studio or Visual Studio for Mac software to help you develop and
test your applications.
--------------------------------------------------------------------------------
It seems like the official Microsoft build should be obtained via the snap store:
sudo snap install code --classic
And the program looks normal. I can install plug-ins, create a new file et cetera.
Problem
However, I cannot open any files or projects. Doing so results in vscode crashing. I read that code --disable-gpu could solve this problem, but doesn't do so for me.
Any ideas
what may cause this crash?
or how to get the pacman vscode working?
Logs
$ code --verbose
Gtk-Message: 22:59:19.805: Failed to load module "canberra-gtk-module"
Gtk-Message: 22:59:19.805: Failed to load module "canberra-gtk-module"
(code:33833): GdkPixbuf-WARNING **: 22:59:19.817: Cannot open pixbuf loader module file '/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders.cache': No such file or directory
This likely means that your installation is broken.
Try running the command
gdk-pixbuf-query-loaders > /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders.cache
to make things work again for the time being.
[33863:1104/225919.911481:ERROR:appcenter_api.cc(52)] expecting appcenter url prefix
[main 2020-11-04T21:59:19.960Z] Sending env to running instance...
[main 2020-11-04T21:59:20.041Z] Sent env to running instance. Terminating...
[main 2020-11-04T21:59:20.041Z] Lifecycle#kill()
where the recommended gdk-pixbuf-query-loaders > /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders.cache results in bash: /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders.cache: No such file or directory
I'm running Arch Linux (Manjaro) and installed vscode with:
sudo pacman -S code
but then a simple .NET core program resulted in
--------------------------------------------------------------------------------
You may only use the Microsoft .NET Core Debugger (clrdbg) with Visual Studio
Code, Visual Studio or Visual Studio for Mac software to help you develop and
test your applications.
--------------------------------------------------------------------------------
I had the same issue trying to get the debugger to work and I spent hours on finding the reason for this. What I found out is that the debugger only works with officially signed Microsoft binaries of VSCode. So you have to make a distinction here:
The package code contains the open source version of visual studio code, a build wich anyone can make using the provided sources by Microsoft. The program which you get here is therefore not signed by MS!
The package visual-studio-code-bin provided by the AUR contains a officially signed version by MS. If you use this package, the debugger works as expected.
I do not know wether snap - which I personally never used at all - provides this kind of package, so I can not tell anything about that, but using the said package from the user repository solved the problem for me reliably.
Try this one (which I installed just yesterday under the recent manjaro distribution and it worked fine) and see if this solves your problem with opening files and folders.

boost 1.66.0 msvc-14.1 error

I'm trying to compile boost 1.66.0 on my Windows machine. I've got Visual Studio 2017 (Community) installed as my IDE and the 14.1 compiler definitely works. However, if I try to invoke this inside any of the VC2017 native command prompts
.\bootstrap
.\b2 variant=debug,release link=shared,static threading=single,multi address-model=64 toolset=msvc-14.1
I get plenty of the following errors:
'cl' is not recognized as an internal or external command, operable
program or batch file
If I change the toolset to msvc-14.0 everything works fine. I've also compiled boost 1.65.1 with msvc-14.1 sucessfully. However, there have been a number of Visual Studio updates since then.
Edit: I've tried compiling boost 1.65.1 again with the most recent compiler version (19.12.25834) and I get the same issue now. Calling "cl" manually inside the "x64 Native Tools Command Prompt for VS 2017" works fine though.
My solution was to:
Delete "C:\Users\'username'\AppData\Local\Temp\b2_msvc_14.1_vcvars32_.cmd"
Build again
My assumtion of reason: Boost makes a temporary "cmd" file which might be from an old build that did not support "msvc-14.1". The file is not rebuilt/deleted.
Background:
I had the same issue with one of my two development machines, both very similar (Windows 7) and updated with VC2017.3. The one working complained about the "Unknown version" (_MSC_VER=1911), but completed the building. The failing one had the "cl is not recognized" error. When looking at the point of failure it explicitly said that it was calling "C:\Users\'username'\AppData\Local\Temp\b2_msvc_14.1_vcvars32_.cmd".
I did a compare at both machines and found that the failing one did not include setting __VSCMD_PREINIT_VCToolsVersion=14.12.25827. There might have been other differences but this one was for sure.
I assumed that I was missing some SW packages or environment settings, but found it strange that the file was not deleted when doing a "b2.exe --toolset=msvc-14.1 --clean-all".
My solution was to delete the temporary cmd file - allowing it to be rebuilt.
After manually deleting "c:\Users\'username'\AppData\Local\Temp\b2_msvc_14.1_vcvars32_.cmd", the building worked fine (except for the 1.65.1 complains about the version _MSC_VER=1911).

CMake C:/IntelSWTools/ISSM_2016/tools/compiler/gcc-ia/5.2.1/bin/i586-intel-elfiamcu-gcc is not a full path to an existing compiler tool

I am having issues compiling this project on zephyr.js, the instructions on their GitHub are for Linux however they do have an environment setup for Windows as well which I have completed to the letter.
When I run the compilation using the makefile I get:
CMake C:/IntelSWTools/ISSM_2016/tools/compiler/gcc-ia/5.2.1/bin/i586-intel-elfiamcu-gcc is not a full path to an existing compiler tool.
I am using the msys terminal with MinGW and I have installed CMake separately and configured it... but why is it throwing this error? I have checked, and the file is actually there. If I type C:/IntelSWTools/ISSM_2016/tools/compiler/gcc-ia/5.2.1/bin/i586-intel-elfiamcu-gcc. into the terminal, it also executes the compiler successfully.
Any ideas?
(Before anyone tells me to try on Linux, for now, it is a requirement to use Windows for this project)

Missing library starting up QT5

I have a Qt application that I am trying to run, but fails to start because it "could not find or load the Qt platform plugin "xcb". When I run ldd on libqxcb.so all the libraries are linked except for one: libxcb-icccm.so.1 => not found
Now, I do have libxcb-icccm.so.4 on my machine, but if I create a symlink pointing to it, everything crashes and burns. From everything I've found the icccm library comes from the XOrg libs, but when I download the source to build it, I have thus far ended up with libxcb-icccm.so.4 instead of libxcb-icccm.so.1
Am I doing something wrong, or am I just missing the version of the xcb libraries I need to build libxcb-icccm.so.1
This version of the icccm library can be found in: xcb-util-0.3.6

c++ compiler issues - MinGW and visual studio c

several issues with both compilers.
Firstly, I've manually installed MinGW c++ compiler - the automated install was failing to download anything - exactly according to the instructions on the MinGW website, including adding C:\MinGW\bin to PATH system-wide, and restarted afterwars. However, g++ only launches if I cd to C:\MinGW\bin first. Secondly, when I do that, I get an error 'no include path in which to search for iostream', and when I look in c:\MinGW\bin\include (where all the header files seem to be', iostream.h is not there.
Finally, I tried downloading visual studio c++ from MS's website, which gives me the installer package vc_web.exe - but when I run this, it fails to download anything. My internet connection is otherwise fine so I can't think of any reason for this.
Any help would be much appreciated, thanks
-confused
As for Visual C++ Express, you can try the offline installer (which doesn't need an internet connection) http://www.microsoft.com/visualstudio/en-us/products/2010-editions/express-iso
And regarding g++, it'll be easier for you to download an IDE that includes g++ and that sets everything up for you, I recommend CodeLite but there's also Code::Blocks

Resources