Dear all:
I just got a new EM64T workstation. I am porting my old CVF code to the new machine and recompiling it with IVF 9.1 professional edition.
My code calls some IMSL functions. However, I cannot sucessfully call the IMSL library.
If I try to compile the simple code:
!---------------------------------
program IMSLcall
include 'link_f90_static.h'
print *, 'Hello'
end program
!-------------------------------
I get the error:
>>Error: Cannot open include file 'link_f90_static.h'
I tried to read the help function of IVF but I could not fix my problem.
I have included in Tools>Options>Intel Fortran in the libraries box the path
to the library:
C:Program Files(x86)VNICTT6.0libEM64T
and in include:
C:Program Files(x86)VNICTT6.0includeEM64T
Also, I have run the IMSL.bat and Iforvars.bat files.
Does anyone have a tutorial that is easier to follow than the instructions of IVF? As I mentioned before, I am doing everything (compiling and target) in EM64T.
Alternatively, does anyone know the (likely rather silly) mistake that I may be making?
Thanks
I just got a new EM64T workstation. I am porting my old CVF code to the new machine and recompiling it with IVF 9.1 professional edition.
My code calls some IMSL functions. However, I cannot sucessfully call the IMSL library.
If I try to compile the simple code:
!---------------------------------
program IMSLcall
include 'link_f90_static.h'
print *, 'Hello'
end program
!-------------------------------
I get the error:
>>Error: Cannot open include file 'link_f90_static.h'
I tried to read the help function of IVF but I could not fix my problem.
I have included in Tools>Options>Intel Fortran in the libraries box the path
to the library:
C:Program Files(x86)VNICTT6.0libEM64T
and in include:
C:Program Files(x86)VNICTT6.0includeEM64T
Also, I have run the IMSL.bat and Iforvars.bat files.
Does anyone have a tutorial that is easier to follow than the instructions of IVF? As I mentioned before, I am doing everything (compiling and target) in EM64T.
Alternatively, does anyone know the (likely rather silly) mistake that I may be making?
Thanks
連結已複製
11 回應
The Building Applications manual has a section on using IMSL in the "Using Libraries" chapter. You seem to have done what's appropriate - have you verified that the include file is actually installed?
Dear Steve:
Thanks for your quick reply. Yes, 'link_f90_static.h' is installed in the path that I specificed in "include". Equally, I have 'link_f90_dll.h" which I also tried without success.
I did read the section you mentioned "Using the IMSL..." under "Building Applications"
of the IVF compiler documentation before posting my previous entry. I found it a bit difficult to follow but I tried to implement the different steps it recommends.
Thanks for your help
Thanks for your quick reply. Yes, 'link_f90_static.h' is installed in the path that I specificed in "include". Equally, I have 'link_f90_dll.h" which I also tried without success.
I did read the section you mentioned "Using the IMSL..." under "Building Applications"
of the IVF compiler documentation before posting my previous entry. I found it a bit difficult to follow but I tried to implement the different steps it recommends.
Thanks for your help
Please do this - right click on the projct, select Properties>Fortran>Command Line. Add to the Command options field:
/watch
Compile the source and post the build output.
If you have suggestions for how to improve the manual text, let me know.
/watch
Compile the source and post the build output.
If you have suggestions for how to improve the manual text, let me know.
Dear Steve:
I was able to compile the hello world program I showed before. The problem was that Project>Properties I was not specifying platform x64. I only did it Tools>Options.
The simple code runs.
The problem I have now with the real application is:
"fatal error: LNK1112: module machine type 'x64' conflicts with machine type 'x86'"
No idea of what this can be. My machine is a Dell 690 with Intel 5160.
Thanks for your help
I was able to compile the hello world program I showed before. The problem was that Project>Properties I was not specifying platform x64. I only did it Tools>Options.
The simple code runs.
The problem I have now with the real application is:
"fatal error: LNK1112: module machine type 'x64' conflicts with machine type 'x86'"
No idea of what this can be. My machine is a Dell 690 with Intel 5160.
Thanks for your help
Hi:
Thanks. I had already checked that one out. Both on the configuration manager (Project>Properties) and on Tools>Options>Target Platform I am specifying x64. I do not know if there additional places to specify the type of platform. I did not see further requirements on chapter on the IVF chapter on Building Applications
Thanks
Thanks. I had already checked that one out. Both on the configuration manager (Project>Properties) and on Tools>Options>Target Platform I am specifying x64. I do not know if there additional places to specify the type of platform. I did not see further requirements on chapter on the IVF chapter on Building Applications
Thanks
If you specify the x64 as a "target" configuration, then it should automatically use the x64 compiler and linker. The error message you get suggests that it's using the 32-bit linker, or somehow /machine=x86 is being added to the link options. You should be able to see what the linker is using in the property page for the linker, command line. You can also look carefully at the build output to see what command is passed to the linker.
Dear all:
I fixed all my problems. The solution was to begin a new project from scratch and copy all the files from my old CVF project. It takes only a couple of minutes but it seems to be easier at the end of the day than try to import the old project as a whole.
Thanks a lot for your help
I fixed all my problems. The solution was to begin a new project from scratch and copy all the files from my old CVF project. It takes only a couple of minutes but it seems to be easier at the end of the day than try to import the old project as a whole.
Thanks a lot for your help
