Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
29285 Discussions

how to make exe file with IvF9.0 and Imsl?

kelaynak
Beginner
1,287 Views

Hello,

Would you please explain how we can make an exe file from a written program in Fortran with Intel Visual Fortran 9.0 and Imsl 5.0 in Visaul studio 2003?

In the Fortran program there are some subroutines from IMSL.Therefore, which dll files (or any other files) from imsl should I put into directory of exe file?

If you could explain it step by step from beginning, I really appreciate for your help.

I am sorry, I know It is too much beginner question. But I am new in programming :(

Regards

0 Kudos
4 Replies
Steven_L_Intel1
Employee
1,287 Views
This is in the documentation, but perhaps not until 9.1 (I forget when we added this.) It's under Using Libraries > Using IMSL. If you choose the static libraries, you won't need DLLs.

Using the IMSL Libraries from the Integrated Development Environment

To use the IMSL* libraries from the Microsoft Visual Studio* IDE on systems using IA-32 architecture:

  1. Add the IMSL Include and Library directories to the list of directories searched:
    1. In the Tools menu, choose Options.
    2. Click Intel Fortran.
    3. Under Project Directories, click the list button ("...") for Libraries to open the list of libraries directories.
    4. In the Set Directory List window that opens, add the full path to the IMSL Libraries folder. The default is C:Program FilesVNIimslctt5.0IA32lib. Click OK.

    5. Now click the list button for Includes and, in the same manner, add the full path to the IMSL Include folder. The default is C:Program FilesVNIimslctt5.0IA32includedll.

    6. Click OK if you have changed any information.
  2. To pass IMSL libraries to the Linker, add one of the following lines to your main program or any convenient source file for your application. This needs to be specified only once per application.
  • INCLUDE 'link_f90_static.h'(To use the static library form of the libraries)

If you want to specify the libraries explicitly, select Project>Add Existing Item..., change Files of Type to All Files, browse to the IMSL Libraries folder, and add the appropriate libraries as explained in IMSL Include File and Library Naming Conventions and Redistributables.

  1. Ensure that the following project properties are set to ensure correct operation with the IMSL libraries:

  • Fortran>External Procedures>Calling Convention>Default

  • Fortran>External Procedures>Name Case Interpretation>Upper Case

  • Fortran>External Procedures>String Length Argument Passing>After All Arguments

  • Fortran>External Procedures>Append Underscores to External Names>No

  • Fortran>Floating Point>Floating Point Exception Handling>Produce NaN, signed infinities, and denormal results

  • Linker>System>Stack Reserve Amount>6000000 (this value may need to be adjusted upwards if stack overflow errors are seen)


0 Kudos
kelaynak
Beginner
1,287 Views

Hi Steve,

Thanks for your help.

But I actually tried to ask what I should add to the exe file directory after creating it inIVF to work it in a different computer that does not contain IVF and IMSL?

I want to run the Fortran Program containing IMSL routines on other PCs without Intel Fortran and IMSL programs.

Is it just enough to send exe file written in fortran to any computers that IVF and IMSL are not installed? Or should I also add some other files (such as dll files from IVF and/or dlls files from IMSL)? The fortran program contains some routines from IMSL.

Thanks

0 Kudos
Steven_L_Intel1
Employee
1,287 Views
Unless you told IVF to link against DLL libraries, then all you need is the EXE. Note that if you are building a Fortran DLL, linking against DLL libraries is the default, in which case you'll need several Fortran (and MSVC) run-time DLLs. If you link against the static IMSL libraries, you don't need an IMSL DLL, but if you do use the DLL IMSL libraries, you will need to bring over one or more IMSL DLLs. This is permitted under the license, though IMSL has some limitations regarding number of processors and deploying on a cluster, so you should read the IMSL license for the details.

Again, if you link statically, you don't have DLL issues (but the IMSL license still has restrictions on deployment that you should read.)
0 Kudos
kelaynak
Beginner
1,287 Views

Steve,

Thank you. You have explained very well.

0 Kudos
Reply