View previous topic :: View next topic |
Author |
Message |
arctica
Joined: 10 Sep 2006 Posts: 105 Location: United Kingdom
|
Posted: Sun Sep 10, 2006 11:01 pm Post subject: Building FTN95 program with DISLIN module |
|
|
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 |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 7938 Location: Salford, UK
|
Posted: Mon Sep 11, 2006 12:48 am Post subject: Building FTN95 program with DISLIN module |
|
|
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 |
|
|
arctica
Joined: 10 Sep 2006 Posts: 105 Location: United Kingdom
|
Posted: Mon Sep 11, 2006 2:57 am Post subject: Building FTN95 program with DISLIN module |
|
|
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 |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 7938 Location: Salford, UK
|
Posted: Mon Sep 11, 2006 5:45 am Post subject: Building FTN95 program with DISLIN module |
|
|
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 |
|
|
arctica
Joined: 10 Sep 2006 Posts: 105 Location: United Kingdom
|
Posted: Mon Sep 11, 2006 6:24 am Post subject: Building FTN95 program with DISLIN module |
|
|
Sorted the problem Paul
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 |
|
|
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 7938 Location: Salford, UK
|
Posted: Mon Sep 11, 2006 6:47 am Post subject: Building FTN95 program with DISLIN module |
|
|
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 |
|
|
arctica
Joined: 10 Sep 2006 Posts: 105 Location: United Kingdom
|
Posted: Mon Sep 11, 2006 7:08 am Post subject: Building FTN95 program with DISLIN module |
|
|
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 |
|
|
|