So some peeps hav encountered issues while running the app so here are some of the ways to troubleshoot it. :D Please pray and support so I build this in C++ and make it cross-platfrom (I am a student and have exams and research work to do ;-;)
Symptoms:
wine CppLabEngine.exe
0024:err:module:import_dll Library icuuc.dll not found
0024:err:module:import_dll Library Qt6Core.dll not found
...
ImportError: DLL load failed while importing QtWidgets: Module not found.
Cause: The Windows .exe build is packaged with PyInstaller and requires native Windows. Qt6 dependencies are not compatible with Wine.
Solution: Run CppLabEngine from source on Linux/macOS:
# Install dependencies (Debian/Ubuntu)
sudo apt install python3 python3-pip python3-venv mingw-w64
# Or on macOS
brew install python3 mingw-w64
# Clone and run
git clone https://github.com/techy4shri/CppLabEngine.git
cd CppLabEngine
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python run_cpplab.pyWhy Wine doesn't work:
- PyInstaller bundles Python runtime but Qt6 DLLs need system libraries
- Qt6 has complex dependencies (ICU, D3D, etc.) not available in Wine
- Wine's Windows API emulation is incomplete for modern Qt6 applications
Alternative: Use native Linux C++ IDEs like:
- Code::Blocks with MinGW cross-compiler
- QtCreator
- VS Code with C++ extensions
Symptoms: Windows Defender shows "Windows protected your PC - Unknown publisher"
Cause: The .exe is not code-signed with a certificate from a trusted Certificate Authority.
Solutions:
- Click "More info" → "Run anyway" (safe if downloaded from official GitHub releases)
- For developers: Sign the executable - see SIGNING.md for instructions
- For users: Verify SHA256 checksum matches the one in release notes
Symptoms:
- Builds take several seconds even for small files
- Disk activity spikes during compilation
Cause: Antivirus software scans every compiler invocation and generated .exe file.
Solution:
- Add CppLabEngine folder to antivirus exclusions
- Windows Defender: Settings → Virus & threat protection → Exclusions → Add folder
- Example path:
C:\Users\YourName\CppLabEngine\
Symptoms: Files don't save or changes are lost
Cause: Permissions issue or file locked by another process
Solutions:
- Check file permissions (read-only?)
- Close any external editors/viewers
- Save As to a different location
- Run IDE as administrator (not recommended for normal use)
Symptoms: CppLabEngine.exe crashes immediately or shows error dialogs
Possible Causes:
- Missing Visual C++ Redistributable: Install latest VC++ Redist
- Corrupted download: Re-download the .zip and extract to new location
- Path with special characters: Move to simple path like
C:\CppLabEngine - Antivirus blocking: Temporarily disable antivirus during first launch
Debug steps:
- Check Windows Event Viewer for crash details
- Try running from command prompt to see error messages:
cd C:\path\to\CppLabEngine CppLabEngine.exe
Symptoms: Build menu is disabled, warning about missing MinGW
Cause: Compiler toolchains not found in compilers/ directory
Solution:
- Ensure
compilers/mingw32/andcompilers/mingw64/exist - Check that
bin/gcc.exeandbin/g++.exeare present in each - Re-extract the full release archive (don't copy just the .exe)
- For custom setup, see BUILDING.md
Symptoms: undefined reference to 'initgraph' or similar graphics.h errors
Cause: Missing 32-bit MinGW or WinBGIm libraries
Requirements:
- Must use 32-bit toolchain (mingw32)
- WinBGIm libraries must be in
compilers/mingw32/lib/ - Libraries:
libbgi.a,libgdi32.a,libcomdlg32.a, etc.
Solution:
- Ensure project uses "Graphics Application" type
- Or for console project: Enable graphics feature in
.cpplab.json - Verify files exist:
compilers/mingw32/lib/libbgi.a compilers/mingw32/include/graphics.h
Symptoms: #pragma omp directives ignored or omp.h not found
Cause: Using 32-bit toolchain or OpenMP not enabled
Requirements:
- Must use 64-bit toolchain (mingw64) - better OpenMP support
- OpenMP feature must be enabled
Solution:
- Use "Console Application" with OpenMP enabled
- Or manually enable in
.cpplab.json:"features": { "openmp": true }
- Select "64-bit (mingw64)" in toolbar
Symptoms: Programs using cin, scanf(), getchar() don't accept input
Solution (v1.0.0+): All programs now run in external terminal by default
- Press F5 or Build → Run to launch in new cmd window
- Input works normally in the terminal
- Close terminal window when done
Old versions: Update to latest release
Symptoms: Program compiles but no graphics window shows
Possible Causes:
- Wrong toolchain: Graphics requires 32-bit MinGW
- Missing DLLs: Graphics libraries not linked
- Code error: Check
initgraph()return value
Debug:
#include <graphics.h>
int main() {
int gd = DETECT, gm;
initgraph(&gd, &gm, (char*)"");
if (graphresult() != grOk) {
printf("Graphics error: %s\n", grapherrormsg(graphresult()));
return 1;
}
// Your graphics code here
getch();
closegraph();
return 0;
}Symptoms: Can't see program output, terminal flashes and closes
Cause: This is by design - programs are launched with cmd /k which keeps window open
If it still closes: Add pause at end of your code:
// C++
std::cout << "\nPress Enter to exit...";
std::cin.get();
// C
printf("\nPress Enter to exit...");
getchar();Symptoms: Compiler can't find source files or headers
Solutions:
- Avoid spaces in paths: Use
C:\Projects\MyCodenotC:\My Projects\My Code - Avoid special characters: Don't use
@,#,&, etc. in folder/file names - Check case sensitivity:
Main.cppvsmain.cppmatters - Relative paths: Headers should use relative includes:
#include "header.h"
Symptoms: gcc.exe: error: CreateProcess: Permission denied
Cause: Antivirus is quarantining or blocking gcc.exe
Solution:
- Add
compilers/folder to antivirus exclusions - Temporarily disable real-time protection
- Check antivirus quarantine and restore gcc.exe
Symptoms: undefined reference to 'function_name'
Common Causes:
- Missing library: Add
-lflag (e.g.,-lbgifor graphics) - Linking order: Libraries should come after source files
- Wrong standard: Some functions need specific C/C++ standard
For graphics.h: Ensure project type is "Graphics Application" or manually add:
-lbgi -lgdi32 -lcomdlg32 -luuid -lole32 -loleaut32
Symptoms: Editor freezes when typing in large files
Cause: Syntax highlighter processes entire document on every keystroke
Workaround:
- Close other tabs to reduce memory usage
- Split large files into smaller modules
- Disable syntax highlighting (not yet implemented - feature request)
Symptoms: Errors persist after fixing code
Solution: Rebuild the project (F7) - diagnostics update on build, not on save
If your issue isn't listed here:
- Check existing issues: GitHub Issues
- Search discussions: GitHub Discussions
- Ask for help: Open a new issue with:
- OS version (Windows 10/11)
- CppLabEngine version
- Steps to reproduce
- Screenshots/error messages
- Minimal code example that fails
Remember: This is an educational tool designed for Windows college lab environments. For production development, consider professional IDEs like Visual Studio, CLion, or VS Code.