Skip to main content

Posts

CPP Quick Guide

Basics Hello world User input While loop If statement For loop Switch statement Read file using ifstream Write to a file using ofstream Containers Basic usage of std::list Basic usage of std::map Basic usage of std::vector Data type conversion Windows API with Exmaples DeviceIoControl FindFirstVolumeW GetDiskFreeSpaceExW GetLogicalDrives GetLogicalDriveStrings C++/WinRT C++/WinRT Hello World Qt Cross-platform Installing Qt Creator 9.0.1 on Windows 10 Qt console hello world Qt Widget hello world Qt Widget hello world code only Keywords: C++, Qt, Programming, Tutorial

C++/WinRT Hello World

C++/WinRT Hello World This is a quick start quide to prepare a development environment to develop against C++/WinRT. System: Development OS: Windows 10 Pro 22H2 Target: Windows 10 LTSB build 10.0.14393 IDE: Visual Studio 2022 (used 17.4.4) Install Visual Studio 2022 Universal Windows Platform development workload. The following is very _important_ as this is what will allow you to create C++/WinRT project. Check C++ (v143) Universal Windows Platform tools , doing so will also enable and install corresponding SDK. Set back and relax as this will download ~24GB of data from Microsoft. After installing Visual Studio, create Windows Console Application (C++/WinRT) For the Minimum version, select Windows 10 Anniversary Update (10.0; Build 14393) The template should look like below If all is well, running it should look like below Keywords: Visual Studio, C++/WinRT

Getting the last error code while debugging even if the Win32 API returned value was not saved

Getting the last error code while debugging even if the Win32 API returned value was not saved It is not uncommon that a Win32 API call return value is not checked in code. This information can prove to be very invaluable while debuging. Fortunately, Visual Studio saves pseudovariables which includes the value normally returned by GetLastError function. To view what would have returned by GetLastError use $err,hr in the Watch window. Refs: Visual Studio Pseudovariables Tags: Visual Studio, CPP

Getting 'You are in emergency mode. After logging in, type "journalctl -xb" to view system logs, "systemctl reboot" to reboot, "systemctl default" or "exit" to boot into default mode' after rebooting Linux Mint 21.1 Vera

On my Linux Mint 21.1 Vera machine, rebooting the machine would show the following early in the boot process You are in emergency mode. After logging in, type "journalctl -xb" to view system logs, "systemctl reboot" to reboot, "systemctl default" or "exit" to boot into default mode. Press Enter for maintenance (or press Control-D to continue): For my specific case this happended because I have a USB drive connected to the CPU. Removing the the USB drive and rebooting the machine allow me to continue with the boot process.

Install TightVNC server on Linux Mint 21.1 Vera

Install TightVNC server on Linux Mint 21.1 Vera One of the options to manage VirtualBox GUI on a Linux host is via VNC server. Below is quick setup to get it up and running. $: sudo apt install tightvncserver It is handy to be able to maintain the same session when connecting to Linux, so let's install tmux, like so: $: sudo apt install tmux Once TightVNC server and tmux are installed, run the following to create a session: $: tmux $: tightvncserver -nolisten tcp :1 -geometry 1024x768 The above commands creates a new tmux session and runs a new VNC server with geometry of 1024x768 on port :1 In multiple cases, I have observed that the VNC session created was just a solid gray backgroun, no xterm, no nothing. As a work-around install XFCE4 like below $: sudo apt install xfce4 xfce4-goodies Then update ~/.vnc/xstartup like below. #!/bin/sh xrdb "$HOME/.Xresources" xsetroot -solid grey #x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP

Create MacOS High Sierra VM on VMware Fusion 8.5.10

Create MacOS High Sierra VM on VMware Fusion 8.5.10 Creating macOS High Sierra on Mac mini using VMware Fusion 8.5.10 in 2022 was not very straightforward. From VMware documentation this should been an easy drag and drop operation using VMware Fusion 12 but not with VMware Fusion 8. Anyway, this is how I got it working. First of, below is the environment: Host: Mac mini (Late 2014) with 16GB memory Host OS: maçOS Mojave VMware Fusion: 8.5.10 Below are the steps to create the VM: On the host, visit https://support.apple.com/en-us/HT211683 Look for macOS High Sierra, I used this link - https://apps.apple.com/us/app/macos-high-sierra/id1246284741?mt=12 This opens the App Store. Download the High Sierra but don’t install it Once downloaded it will be available in /Applications/Install macOS High Sierra.app Clone or download a zip copy of the script that creates dmg file from an app file.The repo is located here - https://github.com/rtrouton/create_macos_vm