C++ samples compilation fails with a long directory name on Windows

If you are using a directory with a long name for the LuciadCPillar sample project, the build may fail. To resolve this problem, either use a shorter path, or see the Visual Studio documentation for a solution.

The performance of the C# samples is bad

The UI Debugging Tools for XAML can affect the performance of the samples in Visual Studio.

To disable these tools from Visual Studio 2022, to Tools | Options | Debugging | XAML Hot Reload, and de-select the Enable XAML Hot Reload checkbox.

The application crashes before the main method is entered

Many parts of the API can only be used after the LuciadCPillar EnvironmentLuciadCPillar EnvironmentLuciadCPillar Environment has been created. For example, this is the case for:

If you use these classes too soon, they will throw an exception. When you are using C++ for example, this can happen when you are creatingcreatingcreating a coordinate reference during static initialization.

This tutorial shows you how to create the EnvironmentEnvironmentEnvironment.

Investigate crashes

It is possible that you trigger a bug in LuciadCPillar that causes the application to crash. When this happens, LuciadCPillar tries to provide as much information as possible to allow finding the root cause of the crash.

Drag and Drop is not working on Windows

This is a consequence how privileges work on Windows. It happens when the application is run under admin privilege while Windows Explorer is used under normal user privileges. Lower-privileged processes cannot drag-and-drop to higher-privileged ones. This can be resolved by running the application (or Visual Studio) without admin privileges.

Qt application borders are not displayed properly on Linux with Wayland

Some Linux distributions use Wayland as their display manager. On systems using Wayland, Qt applications may show border display issues in GNOME:

  • The title bar is missing.

  • The maximize/minimize/close buttons are not displayed.

To circumvent this, you can force the use of the xcb QPA plugin. For instance, on Ubuntu 24.04, install this plugin with:

sudo apt install libxcb-cursor0 libxcb-composite0

After installing the plugin, set the environment variable QT_QPA_PLATFORM to force its use:

export QT_QPA_PLATFORM="xcb;wayland"

You can set this environment variable in your ~/.profile for instance. Note that the setting still specifies wayland as the fallback if xcb fails.

For more information on this topic, see https://doc.qt.io/qt-6/qpa.html