View previous topic :: View next topic |
Author |
Message |
sbyates
Joined: 24 Aug 2009 Posts: 6
|
Posted: Thu Aug 27, 2009 3:20 am Post subject: Difference between Checkmate Win32 and Debug Win32 |
|
|
When I compile some code using "Build" in the Plato IDE (fortran 95 with C) I get the following when using Checkmate Win32:
WARNING the following symbols are missing:
ezsdi C:\SwitcapSource\sw2_1.2\CheckMate\Win32\ezinit.obj
ezinit.f is the fortran file, and it calls the c routine ezsdi.
When I compile using Debug Win32 the symbol is not missing and the link is successful. I am using the C_EXTERNAL Ftn95 directive to call the C routine.
I understand most of the differences that Checkmate feature brings, but I can not figure out why this referenced object is not found when compiling using the Checkmate. Any ideas? |
|
Back to top |
|
 |
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 8210 Location: Salford, UK
|
Posted: Thu Aug 27, 2009 7:18 am Post subject: |
|
|
Have you declared ezsdi as C_EXTERNAL etc. in your Fortran code?
This would correspond with extern "C" in your C code.
See the standard header files for examples of how to do this. Further details appear in FTN95.chm.
I don't think that you have to do it this way but the root of the problem may be that the Fortran requires extra arguments in CHECK mode and, for some reason there is a mis-match when linking. |
|
Back to top |
|
 |
sbyates
Joined: 24 Aug 2009 Posts: 6
|
Posted: Thu Aug 27, 2009 3:17 pm Post subject: Difference between Checkmate Win32 and Debug Win32 |
|
|
I have the C_EXTERNAL in the fortan code. In fact, the code appears to work when complied with Debug Win32 mode set, but not the Checkmate mode. That is what is confusing me. I'm sure it is some linker options, but I have not been able to crack the code on which ones may not be set or may be set to a wrong parameter. |
|
Back to top |
|
 |
|