win32-qutest port uses non-standard include 'conio.h'
Real-Time Event Frameworks based on active objects & state machines
Brought to you by:
quantum-leaps
The QP/C and QP/C++ ports for QUTest on Windows use the non-standard (obsolete) header file <conio.h>, which causes compilation error with some compilers (e.g., MSys or Cygwin). See also GitHub issue.
--MMS
Anonymous
The support for console input (and thus the obsolete header file <conio.h>) is not necessary for the QUTest host executables and has been removed in QP/C/C++ 7.3.3. Most of the time, the executables are launched in the background, anyway (so there is no keyboard input). This means that QUTest test fixtures should compile with MSys, or Cygwin. (They compile with the standard MinGW for Windows, which is provided in the QTools collection for Windows and is included also in the QP-bundle for Windows.. That's why there was no problem until now).</conio.h>
This issue with the obsolete <conio.h> header file affects the standard QP ports to Win32, which also use it. The real problem is that there is no real good replacement for this functionality (short of using the "ncurses" library.) For that reason, the console-related functionality in the QP win32 and win32-qv ports will be compiled conditionally, only when the macro QF_CONSOLE is defined. This would eliminate the <conio.h> problem for QP applications on Windows that don't need console (e.g., GUI applications with QWin or "headless" applications.) For console applications, users will have an option either to define QF_CONSOLE and use <conio.h>, or not define it and provide the console services some other way.</conio.h></conio.h></conio.h>
--MMS