Silverfrost Forums

Welcome to our forums

Testing Winteracter v17

1 Jan 2026 1:48 #32646

Hello

Quick query. How do you use Winteracter in ftn95 using Plato? I added the paths to the module directory and also include, but it still does not compile

Cleaning... Clean completed. Compiling file default.f90 using FTN95. C:\Fortran\wint_test\default.F90(9) : error 404 - Cannot find definition for MODULE WINTERACTER Compilation failed.

The module path is correct

Any pointers? FTN95 and Plato 6.0.3

Lester

1 Jan 2026 3:56 #32647

Just read through some of the help, and see Winteracter is only configured for 32-bit ftn95

1 Jan 2026 4:31 #32648

Lester, module files built for X64 have the suffix .mod64. Just check if the 64-bit Winteracter module is present on your computer and in the expected location.

2 Jan 2026 2:06 #32666

Thanks for the information

I have setup the paths to the module and include files correctly, and added the winter.lib file as a reference in the Plato project. Compile makes the resid.mod file but says it cannot find it, even though it was compiled.

Cleaning... Clean completed. Compiling file default.f90 using FTN95. C:\Fortran\wint_test\default.F90(10) : error 404 - Cannot find definition for MODULE RESID Compilation failed. Compiling file resid.f90 using FTN95.

Compiling as 32-bit Source files default.f90, resid.f90 (module)

I'm assuming the winter.lib file is the equivalent to a dll reference. I have used DISLIN in the same way and have not had any issues. Is there a specific setup for Winteracter in a Plato project?

Lester

! ********************************
! * WiDE skeleton project source *
! ********************************
!
      PROGRAM UNTITLED
!
! Use of the WINTERACTER module is compulsory
!
      USE WINTERACTER
      USE RESID
!
! Declare variables to be returned by WMessage
!
      INTEGER           :: ITYPE
      TYPE(WIN_MESSAGE) :: MESSAGE
!
! Initialise Winteracter
!
      CALL WInitialise()
!
! Open the root window with a status bar and menu
!
      CALL WindowOpen(FLAGS =SysMenuOn+MinButton+MaxButton+StatusBar, &
                      MENUID=IDM_MENU1,                               &
                      TITLE ='Winteracter Application')
!
! Main message loop
!
      DO                                 ! Loop until user terminates
        CALL WMessage(ITYPE,MESSAGE)
        SELECT CASE (ITYPE)
          CASE (MenuSelect)              ! Menu item selected
            SELECT CASE (MESSAGE%VALUE1)
              CASE (ID_EXIT)             ! Exit program (menu option)
                EXIT
            END SELECT
          CASE (CloseRequest)            ! Close window (e.g. Alt/F4)
            EXIT     
        END SELECT
      END DO
      CALL WindowClose()                 ! Remove program window
      STOP
      END PROGRAM UNTITLED



! Winteracter resource identifiers.
!
! This file is generated by the Winteracter resource editor.
! It should not be edited manually. It is also not advisable to load this
! file in a text editor, while working on the associated resource file,
! since this may prevent the resource identifiers file from being updated.
! To view the names and values of resource identifiers, use the
! 'Identifier Names and Values' or 'Used Identifiers' options on the
! resource editor's 'View' menu. Both dialogs also include a 'Copy id'
! button which allows identifier names to be copied via the clipboard.
! Opening this file in an editor should therefore not be necessary.
!
      MODULE RESID
      IMPLICIT NONE
      INTEGER, PARAMETER :: IDM_MENU1                       = 30001
      INTEGER, PARAMETER :: ID_EXIT                         = 40001
      END MODULE RESID

Tested the Winteracter Development Environment using ftn95 32-bit and it compiled and linked fine.

2 Jan 2026 2:27 #32667

Lester,

There was a problem linking dlls with version 6.0.3 of Plato. Your issue may be related to this in some way.

See the later discussion from December 2025 here: https://forums.silverfrost.com/Forum/Topic/3986

3 Jan 2026 12:51 #32671

Managed to get the code to compile and link, but generates a runtime error as it cannot find the definitions:

Cleaning... Clean completed. Compiling file default.f90 using FTN95. Compiling file resid.f90 using FTN95. Compilation completed with no errors. Linking... WARNING the following symbols are missing: WINITIALISE C:\Fortran\wint_test\Release\Win32\default.obj (C:\FORTRAN\WINT_TEST\DEFAULT.F90) WINDOWOPEN2 C:\Fortran\wint_test\Release\Win32\default.obj (C:\FORTRAN\WINT_TEST\DEFAULT.F90) WMESSAGE C:\Fortran\wint_test\Release\Win32\default.obj (C:\FORTRAN\WINT_TEST\DEFAULT.F90) WINDOWCLOSE C:\Fortran\wint_test\Release\Win32\default.obj (C:\FORTRAN\WINT_TEST\DEFAULT.F90) Creating executable: Release\Win32\winter_test.exe Linking completed.

I think the issue in Plato, lies with how it is attempting to link the static library. The winter.lib can either be set as extra linker options or as a reference in the project; same result.

compiler options (in Plato) Include path = c:\wint\include module path =c:\wint\lib.s95

Linker options: Windows application (checked) Extra linker options c:\wint\lib.s95\winter.lib

Kind of stuck as to how to proceed at the moment. The only workable solution at the moment, is to use the Winteracter WiDE development environment with ftn95 selected as the compiler option.

Lester

Please login to reply.