This file is part of: App-X11-Forward-win32-CPP-Development-Template -Stack
Copyright (c) 2024 Nico Jan Eelhart
This source code is licensed under the MIT License found in the ‘LICENSE.md’ file in the root directory of this source tree.
What
A Docker Template Stack Container for Cross-Compiling Win32 GUI C++ Projects. The output of the GUI application is forwarded from the Linux container to the X11 server on the host (XLaunch). Win32 C applications can be created using the MinGW API. Additionally, the GUI application can be run in Linux by utilizing the Wine environment, and the output from Wine is forwarded to the X11 server on the Windows host.
While this is designed as a cross-compiling Win32 environment, nothing stops you from using it for other (GUI) application development!
Available Sub Containers
- Win32 C++ project environment
Quick setup
If you have previously installed this container, you can use the quick setup steps below. Otherwise please first read the how to create a development container document.
- In case you don’t have the WSL container
wsl --import Ubuntu-docker-App-X11-Win32Dev ./wsl2-distro "install.tar.gz"
- Create docker base container
docker-compose -f compose_app_forward_x11_win32-cpp_base.yml up -d --build --force-recreate --remove-orphans
- Install C++ sub-container
docker-compose -f compose_win32-cpp_project.yml up -d --remove-orphans --build --force-recreate
- Attach docker to the WSL
# Start WSL wsl -d Ubuntu-docker-App-X11-Win32Dev # Attach docker docker exec -it afx-x11-forward-win32-cpp-service-axf-win32-cpp-1 /bin/bash # If the container cannot be found, restart the Docker app and ensure # WSL integration is enabled in Docker settings!
After this you should be able to open the container in VSC and start developing, be sure to run the following command first to read the application name from the .env file and set it in the project
source ./set_env.sh # From terminal in the root project dir. # You may need to reload the VSC Window!