forums.silverfrost.com Forum Index forums.silverfrost.com
Welcome to the Silverfrost forums
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Building FTN95 program with DISLIN module

 
Post new topic   Reply to topic    forums.silverfrost.com Forum Index -> General
View previous topic :: View next topic  
Author Message
arctica



Joined: 10 Sep 2006
Posts: 105
Location: United Kingdom

PostPosted: Sun Sep 10, 2006 11:01 pm    Post subject: Building FTN95 program with DISLIN module Reply with quote

Hello

I have been trying to get the DISLIN graphics module to work through the Plato3 interface, but without success. The program compiles fine with just one error relating to this DISLIN module:

Compiling and linking file: exa_f90.f90
C:dislinexamplesexa_f90.F90(132) : fatal 404 - Cannot find definition for MODULE DISLIN
Compilation failed

The path to the directory where the module exits is correct:

Path=c:dislinwin
SET DISLIN=c:dislin

Module name is dislin.mod

I tried to use the add references option (if that was how to do it) but that did not work. Under projects, the Add References option did not function and most items there were grey-out - is this because the program would not compile? Still prety new to this work.

Thanks

Lester


_________________
"Imagination is more important than knowledge" Albert Einstein 1879-1955
Back to top
View user's profile Send private message
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 7916
Location: Salford, UK

PostPosted: Mon Sep 11, 2006 12:48 am    Post subject: Building FTN95 program with DISLIN module Reply with quote

Lester

This error means one of the following.

1) You have not supplied the code for the module DISLIN. If you have the code then it should be used as one of the "source files" for your Plato project. If you do not have the code then you cannot "USE" the module. (Strictly you only need the .MOD file but this is compiler dependent and is a byproduct of FTN95 compilation.)

2) You may have supplied the code for the module but the build order is wrong. Make sure that the module is built before any subprograms that "USE" the module. If necesary switch off the Project dependency checking to force the manual build order that you know will work.
Back to top
View user's profile Send private message AIM Address
arctica



Joined: 10 Sep 2006
Posts: 105
Location: United Kingdom

PostPosted: Mon Sep 11, 2006 2:57 am    Post subject: Building FTN95 program with DISLIN module Reply with quote

Hi

I already have a pre-compiled dislin.mod (for ftn95) but I think the problem also relates to the fact I can't access the Project Explorer and the options under there. See other message. I just can't get it to work from Plato.

I works fine through the Command window

e.g ftn95 exa_f90.f90 /MOD_PATH c:dislin : compile the code
slink exa_f90.obj c:dislindisf95.lib : build the executable

It should be possible to do all these processes through the Plato interface I would have thought - it is very similar to the format of the Microsoft Visual C++ working environment, so not sure what the issue is.

Lester
_________________
"Imagination is more important than knowledge" Albert Einstein 1879-1955
Back to top
View user's profile Send private message
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 7916
Location: Salford, UK

PostPosted: Mon Sep 11, 2006 5:45 am    Post subject: Building FTN95 program with DISLIN module Reply with quote

Lester

If you have a project open then the menu item to view the Project Explorer should be visible and enabled. If it is not enabled (when a project is open) then all that I can suggest is that you download and reinstall everything again.
Back to top
View user's profile Send private message AIM Address
arctica



Joined: 10 Sep 2006
Posts: 105
Location: United Kingdom

PostPosted: Mon Sep 11, 2006 6:24 am    Post subject: Building FTN95 program with DISLIN module Reply with quote

Sorted the problem Paul Smile

Now I have the issue of how to get the DISLIN module referenced:

Compiling file: map_f90.f90
C:dislinexamplesmap_f90.F90(9) : fatal 404 - Cannot find definition for MODULE DISLIN
Compilation failed

the module is located at c:dislindislin.mod and the compilation uses the 32-bit libary disf95.lib (which I think reference the disf95.dll in dislinwin).

How does one use or reference separate module files like this? Apologies in advance if these are fairly basic queries.

Thanks

Lester

"Imagination is more important than knowledge" - Albert Einstein (1879 - 1955)
_________________
"Imagination is more important than knowledge" Albert Einstein 1879-1955
Back to top
View user's profile Send private message
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 7916
Location: Salford, UK

PostPosted: Mon Sep 11, 2006 6:47 am    Post subject: Building FTN95 program with DISLIN module Reply with quote

Lester

When compiling it does not matter where the DLL is because it is not used until link time at which point Plato uses a "Reference".

The .MOD file is used at compile time and it is this file that the compiler cannot see.
My guess is that you should have a copy in the project folder or alternatively you may be able to use the /MOD_PATH command line option.
Back to top
View user's profile Send private message AIM Address
arctica



Joined: 10 Sep 2006
Posts: 105
Location: United Kingdom

PostPosted: Mon Sep 11, 2006 7:08 am    Post subject: Building FTN95 program with DISLIN module Reply with quote

Hi

The source code for the dislin module is supplied (dislin.f90), so I placed that into the Sorce files list (first entry) and then the main program, with the References section listing disf95.lib. The full build (compile and link) worked fine using that.

As a double check I tried the compile and link from the command line. Subtle differences are evident in terms of file sizes which was a little odd but functionality was the same with the executable.

Plato project build:
dislin.obj 14,818 bytes
map_f90.obj 36,894 bytes
Test.exe 29,268 bytes

Command line compile and link:
mygob.mod 283 bytes (built into main program)
map_f90.obj 33,150 bytes
map_f90.exe (= test.exe) 14,848 bytes

Just thought it was interesting to do a comparison test.

Thanks for the help.

Lester


"Imagination is more important than knowledge" - Albert Einstein (1879 - 1955)
_________________
"Imagination is more important than knowledge" Albert Einstein 1879-1955
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    forums.silverfrost.com Forum Index -> General All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group