Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

QWIN and qwutil.c

Anthony_P_
Beginner
1,341 Views

I am having my first go at graphics on Microsoft windows (having previously played with graphics on unix). I have tried to recreate precisely the intel test case that draws three graphs using the routines realg.f90 with subroutines gridshape.f90 and threegraphs.f90 - exactly as printed in the intel sample document. I managed to compile and link, eventually (as I didn't realise initially that "/libs:qwin" has to be added at the compile phase).

However, having finally compiled and linked the routines I get a re-iterating error window appearing with the window titled "QuickWin Error" and stating 'Internal Error - unexpected error file "qwgutil.c", line 2781'. The window keeps reappearing.

I guess I've committed some fundamental error - which is probably due to me executing the code from the command line. Is there a way to (a) remove the current error window without rebooting my machine; (b) to resolve the problem and get the code to run properly?

 

0 Kudos
8 Replies
gib
New Contributor II
1,341 Views

You will be able to kill the process that is generating the error window by starting the Task Manager (right-click in the ribbon at the bottom of the screen), click Processes, find the offending process and then End Process.

0 Kudos
mecej4
Honored Contributor III
1,341 Views

Which version of the compiler did you use, and what compiler options?

I took the source code at https://software.intel.com/en-us/node/535341 and built and ran the program using 9.1.039,  11.1.072, 16.0.5 and 17.0.4 on a Windows 10-64 PC.

All produced an EXE when I used /Od /libs:qwin as the compiler option.

The EXEs generated by the 9.1 and 11.1 compilers produced graphical windows, but had to be terminated manually (using TASKKILL.exe or the Task manager).

The EXEs from the newer compiler versions ran fine.

0 Kudos
andrew_4619
Honored Contributor II
1,341 Views

mecej4 wrote:
The EXEs 9.1 and 11.1 compilers produced graphical windows, but had to be terminated manually (using TASKKILL.exe or the Task manager). The EXEs from the newer compiler versions ran fine.

https://software.intel.com/en-us/articles/intel-visual-fortran-quickwin-applications-freezing

0 Kudos
mecej4
Honored Contributor III
1,341 Views

Thanks, Andrew. From that thread that you quoted, it appears that one must use use the 12.1 compiler or later to avoid this problem.

There is a really long thread, https://software.intel.com/en-us/node/293107, with 129 responses, that may be useful as a source of workarounds to try if one is forced to use an older compiler version.

0 Kudos
Anthony_P_
Beginner
1,341 Views

Thank you all for your comments. For the record, my compile statement was simply:

ifort /c /libs:qwin *.f90

and the link statement was

ifort /Od /exe:test.exe *.obj

I'm running the intel 64 Fortran compiler ver 17.0.4.210. I'm able to build the program and run it from Visual Studio 2013 - albeit with a termination window (as mentioned by mecej4). However, I'm unable to run it from the command line. When I type in "test.exe" (the name of the executable) I still get the same error I mentioned above: Unexpected error file qwgutil.c line 2781.

Do I need to do something differently to run it from the command line? Either in compiling, linking, or executing?

0 Kudos
andrew_4619
Honored Contributor II
1,341 Views

Out of interest are you running from a command prompt created from the Intel fortran shortcuts on the start menu? Maybe the environment is a problem.

 

0 Kudos
Anthony_P_
Beginner
1,341 Views

andrew_4619

Yes, I'm trying to compile/link/run from the DOS-type window provided in the intel shortcuts. The window is titled:

Intel Compiler 17.0 Update 4 Intel(R) 64 Visual Studio 2013

One extra piece of information: at the compile phase (when compiling from the command line), I get a number of warnings #6075. It appears the compiler doesn't like the arithmetic operations within the arguments on calls to SETTEXTWINDOW and SETVIEWPORT, though the program still compiles.

0 Kudos
mecej4
Honored Contributor III
1,341 Views

The #6075 warnings are caused by your using 4-byte integer constants (such as "-1" and "2") in the expressions. Append "_2" to make them 2-byte integers. Or, surround the expressions with INT2(),.as you have already done in some places.

0 Kudos
Reply