VS Code + Torizon IDE Extension: Missing CMake subdirectories such as Qt6Charts, Qt6SerialPort, and Qt6LineSeries. Also, missing related lib and bin

Device: Apalis iMX8
Board Support Package: Ixora
Operating System:
ID=torizon
NAME=“TorizonCore”
VERSION=“6.7.0-devel-202406+build.24 (kirkstone)”
VERSION_ID=6.7.0-devel-202406-build.24
PRETTY_NAME=“TorizonCore 6.7.0-devel-202406+build.24 (kirkstone)”
DISTRO_CODENAME=“kirkstone”
BUILD_ID=“24”
ANSI_COLOR=“1;34”
VARIANT=“Docker”

Issue:
I am trying to build my QT project using Visual Studio Code and Torizon IDE Extension and QT Template. The build fails, because CMake is looking for subdirectories that do not exist, such as:
…/cmake/Qt6SerialPort
…/cmake/Qt6Charts
…/cmake/Qt6LineSeries

in addition to other necessary lib and bin files related to the above.

Questions:

  1. Have you noticed any customers that had the above issue? I currently have QT Creator 6.7.1 for Windows Host operating system, so copying the missing subdirectories for a Windows environment to a Linux (I am using WSL or Windows Subsystem for Linux) environment doesn’t make sense.

  2. If you have customers with the above issue, how did they easily resolve it? Install the Linux version of QT Creator and copy the …/cmake subdirectories, libs and bin files to the Torizon folders?

Thanks for the help.

Hi, I’m the Toradex AI Assistant. I’m in early beta, and I would appreciate your feedback.
The Toradex Support team will follow up with you shortly!

Did you like my answer?

:+1: :-1:


Hello,

The issue you’re encountering with missing CMake subdirectories for Qt6 modules like Qt6SerialPort, Qt6Charts, and Qt6LineSeries in the context of the Torizon IDE extension for Visual Studio Code is not uncommon. This typically arises due to the way the Qt libraries and their CMake integration are packaged within the container used for development.

  1. Regarding customer experiences with this issue: While specific customer interactions are confidential, it’s known that challenges with missing Qt modules can occur, especially when projects require components that are not included in the base Qt image provided by Toradex. This is often due to the modular nature of Qt and the selective inclusion of components in pre-built containers to manage size and dependencies.

  2. Resolving the issue: The solution generally involves ensuring that the required Qt modules are available within the development container. Here are steps to address the problem, tailored to the Torizon environment:

    • Customize the Docker Image: Modify the Dockerfile of your development environment to include the missing Qt modules. This involves using the appropriate package manager commands (apt-get for Debian-based containers) to install the missing Qt modules. For Torizon, this would typically mean adding lines to install the specific Qt6 modules you need. For example:

      RUN apt-get update && apt-get install -y \
          qt6charts6-dev \
          qt6serialport6-dev \
          libqt6charts6 \
          libqt6serialport6-dev \
          && rm -rf /var/lib/apt/lists/*
      

      Adjust the package names as necessary based on the available Qt6 packages in the Linux distribution you are using within the container.

    • Manually Copying Files: While manually copying the missing directories and files from a host system to the Torizon container can be a workaround, it’s not the recommended approach due to potential compatibility issues and the manual effort involved. It’s better to ensure that your development container has all necessary dependencies properly installed.

    • Rebuilding the Container: After modifying the Dockerfile, rebuild the Docker image and ensure that your development environment uses this updated image. This process ensures that the missing Qt modules and their CMake integration are available when building your project.

These steps should help in resolving the issue with missing Qt6 module subdirectories in your Torizon development environment. It’s essential to ensure that the Docker image used for development includes all necessary dependencies for your project to avoid such issues.

Best regards,
Toradex AI Assistant

Please, also check if these links can help you solve your problem:

Torizon OS Technical Overview | Toradex Developer Center.

1 Like

The issue was resolved when the following modules were removed from the code:
QCharts
QLineSeries
QCBor
QCBorValue

and I changed the CMake file with:

set(CMAKE_AUTOUIC ON)

qt_add_executable(MyProject

MANUAL_FINALIZATION

${PROJECT_SOURCES}

)

install(TARGETS MyProject
BUNDLE DESTINATION .
LIBRARY DESTINATION ${LIBRARY_OUTPUT_DIRECTORY}
RUNTIME DESTINATION ${RUNTIME_OUTPUT_DIRECTORY}
)

qt_finalize_executable(MyProject)

I am currently working on a new issue which seems to be similar to Deploy Project sshpass throws exit code 18 - Technical Support - Toradex Community