Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

Multiple compiler versions in Visual Studio

Lorenzo_B_
Beginner
1,674 Views

On my machine I have been working with IVF 11.072 and 12.0, both integrated in VS2008 and VS2010. Recently, I installed VS2013 and Intel Parallel Studio XE 2013. Since with the first two I was able to change (if needed) the compiler from Tools->Options->Intel Composer XE->Visual Fortran, I hope to maintain the three different versions of the compiler. However, now, all three Visual Studio versions are integrated only with the 14.0.

Since I am dealing with the update of academic legacy codes, I would prefer to maintain the three of them in each visual studio version. I found this blog post (https://software.intel.com/en-us/articles/using-older-intel-visual-fortran-versions-in-different-microsoft-visual-studio-versions) but it relates only with the possibility of having an older version. I understand that I have in some way to change the integration folder C:\Program Files (x86)\Microsoft Visual Studio 9.0\Intel Fortran, but I do not know how. Even with uninstalling and reinstalling everything it did not change much.

Is still possible to have multiple versions? if yes, how can I do it?

0 Kudos
12 Replies
mecej4
Honored Contributor III
1,674 Views

Are these "academic legacy codes" character mode applications or GUI applications? The codes may be old, but must you also use an old compiler, and tie that to a GUI front-end such as Visual Studio? Each additional dependency restricts your freedom to build and maintain the old code. In other words, what attribute of these old codes keeps you from using the latest development packages?

0 Kudos
Lorenzo_B_
Beginner
1,674 Views

No, actually they are executable and they are used from terminal, no GUI...

The Visual Studio integration is necessary for the students/colleagues that have to work/migrate with that code.. I was in the middle of doing it but I was not expecting to cancel the integration with the older compiler... The reason is that our results must be identical to the previous ones, for scientific reasons, and I have to check that results are the same through different compilers...

Speaking about dependencies and old implementations, we have some old F77 code with implicit definitions, %VAL calls, assumed shape and size array definitions through multiple subroutines.. is a medium size code but I have also to track all this changes... (and VS2013 could be a nice help...!)

0 Kudos
andrew_4619
Honored Contributor III
1,674 Views

You need to look at the release notes for each compiler version

1] typically each compiler will be able to integrate with three versions of VS

2] For any version of VS you can have up to three compiler versions available but the integrations are always for the most recent compiler.

3] When you install the compiler it will detect what VS versions are installed and you have the choice which to integrate with.

With that in mind if you study the release notes. Uninstall everything and clean up and then reinstall the VS versions in order and the the compilers in order deciding what inegrations go where you may be able to achieve what you want. 

That is a lot of effort and will involve a lot of time watching install progress bars move slowly from left to right.....

 

 

0 Kudos
andrew_4619
Honored Contributor III
1,674 Views

For the most part I would say just "bite the bullet" and use the latest compiler with appropriate build options. They are m,many options that will keep compatibility with older standards for Fortran and coding methods.For the most part the only "problem" is the compiler will find more errors/bugs in your code that you will have to fix but surely that is progress and needs to be done??

0 Kudos
Lorenzo_B_
Beginner
1,674 Views

With that in mind if you study the release notes. Uninstall everything and clean up and then reinstall the VS versions in order and the the compilers in order deciding what inegrations go where you may be able to achieve what you want. 

 What do you mean by cleaning up? I have uninstalled everything previously and reinstalled all again (yes, I spent a lot of time on this already). When I reinstalled only VS2008 and Fortran 11.072, the proper integration was not done.. Trying to repair does not help either.

In the release notes (IVF 14.0), I found:

When installing an updated version of the product, you do not need to remove the older version
first. The first time you install an update, you will have the choice to replace the older version or
to keep both the older and newer versions on the system
. This choice is remembered for future
updates. In Microsoft Visual Studio you can select which specific compiler version to use
through the Tools > Options > Intel Composer XE > Visual Fortran Compiler dialog. Compiler
versions older than 12.0 (Intel® Visual Fortran Composer XE 2011) are not available to be
selected through Visual Studio. All installed versions can be used from the command line.
If you remove a newer version of the product you may have to reinstall the integrations into
Microsoft Visual Studio from the older version.

So, first, I missed the choice in the replacement of the older versions. How can I change this choice?

Secondly, how to reinstall the proper integration? Should I follow https://software.intel.com/en-us/articles/using-older-intel-visual-fortran-versions-in-different-microsoft-visual-studio-versions but taking care of deleting the Intel Fortran folder before installing?

0 Kudos
Steven_L_Intel1
Employee
1,674 Views

Please read the article I linked to in post 6. It explains everything. If after reading that you still have questions, ask again.

0 Kudos
Lorenzo_B_
Beginner
1,674 Views

Thank you very much Steve, the trick worked. I removed the folder "Intel Fortran", uninstalled and reinstalled. However, there are still some problems. When I open a solution, this appears:

Captura.PNG

Then, at the beginning of linking rc.exe is not found, and all library (especially WindowsKits) are not found. If I set all manually in the properties of the project, still it appears this (from the Release x64 build):

1>Project : warning PRJ0018 : The following environment variables were not found:
1>$(WindowsSdkDir)

I believe that all these messages are related to missing connection with dependencies and SDK folders. Is there a way to fix all this automatically? or should I remove also the other Fortran compilers (and VS?) and install all from scratch?

0 Kudos
Steven_L_Intel1
Employee
1,674 Views

If you start over, that will probably take care of it. The SDK issue is one that hits a lot of people - Microsoft's method of locating the appropriate SDK is error-prone. If you go to Tools > Options > Intel Visual Fortran > Compilers (the location of this changes depending on version) you can replace $(WindowsSDKDir) in the Executables and Libraries lists with the path to the appropriate SDK folder (probably the "7.1" SDK for your versions.)

The Package Load error would be best addressed by uninstalling and reinstalling the 2013 SP1 product.

0 Kudos
Lorenzo_B_
Beginner
1,674 Views

Right I will try to clean reinstall all again. One thing that is fundamental is the Path Environment variable. By cleaning it and shrinking it, using some additional variables, it solves a lot of problems.

One last doubt. When you say clean install, does it mean that I have to remove related software to Visual Studio and Intel Compilers? That is to say, among the software that I have on the machine, there are:

packages.PNG

Many of them were downloaded by Windows update. Should I remove all runtime, redistributable, tools and SDK packages for a clean reinstall? I suppose that once this is cleaned, and I have reinstalled the compiler, Windows will take care of reinstalling all updates, right?

Thank you again for your help!

0 Kudos
TimP
Honored Contributor III
1,674 Views

I think Steve refers to removing the intel software tools. This doesn't require removing files from Intel \downloads or any old vs components. The point would be to force the intel installer to start over.

0 Kudos
Steven_L_Intel1
Employee
1,674 Views

Tim is correct - mostly. I would suggest a remove and reinstall of Visual Studio 2010 Professional. (And then reinstall its Service Pack 1 before installing Fortran.)

0 Kudos
Reply