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

Intel 13 + 11 on same machine

Adrian_F_1
Beginner
554 Views

I have Intel Fortran 11.1 in VS2008 installed.  All development is done using this configuration.

We are upgrading to VS2012 and Intel Fortran 13.  I have just installed VS2012.

However in the initial part of the Intel Fortran 13 install, it is telling me that it will uninstall the Intel Fortran IDE integration.

Does that mean I cannot have both VS2008/Intel11 and VS2012/Intel13 on the same machine?

0 Kudos
3 Replies
TimP
Honored Contributor III
554 Views

You may be able to avoid modifying the VS2008 installation by selecting the additional options and asking for integration in VS2012 only.  Otherwise, you may have to re-install the 11.1 compiler, which will ignore your VS2012 and new compiler.

The license for the new compiler is valid also for the old one.

0 Kudos
Adrian_F_1
Beginner
554 Views

After jumping through a few hoops I got that to work.  Now I'm trying to rebuild by solution in VS2012 / Intel13.  The migration report did not flag up any issues.  However a Rebuild All fails with a few of these:

25>D:\Devl.OLI\OLIEngines13\src\core\core.vfproj(2,1): error MSB4075: The project file "D:\Devl.OLI\OLIEngines13\src\core\core.vfproj" must be opened in the Visual Studio IDE and converted to the latest version before it can be built by MSBuild.

Now I thought that was what the migration was supposed to do.  Anyway I opened core.vfproj in a new instance of VS2012, and did a Save All, but core.vfproj still kept the same date, and indeed still has the line:

<VisualStudioProject ProjectType="typeStaticLibrary" ProjectCreator="Intel Fortran" Keyword="Dll" Version="11.0" ProjectIdGuid="{BE7F6B6F-4F49-4857-80B4-7DA8EA15AC38}">

Why are the VFPROJ files not being upgraded and saved by the migration?

0 Kudos
Steven_L_Intel1
Employee
554 Views

The version in the .vfproj is correct - we only change that when the format of the project file changes. This allows users to share projects without requiring the other user to have the same version.

My guess is that you have a mixed-language project and VS2012 converted the project dependency to a "reference", but the Visual C++ project system doesn't understand Fortran projects this way. This is covered in the Fortran release notes:

3.6.2 Project Dependencies

If you are converting a project from an earlier version of Visual Studio and had established
Project Dependencies, these are converted to References by Visual Studio 2010/2012. A
Fortran project that is referenced by a C/C++ project will prevent the C/C++ project from
building, with an MSB4075 error. To solve this:

1. Right click on the C/C++ project and select References.
2. If any Fortran project is shown as a reference, click Remove Reference. Repeat this for
all Fortran projects shown as a reference. Click OK.
3. Repeat the above steps for any other C/C++ project

Now you have to reestablish project dependencies.

1. Right click on the C/C++ project and select Project Dependencies.
2. Check the box for each project that is a dependent of this project.
3. Click OK.
4. Repeat the above steps for any other C/C++ project that has dependencies.

Unlike earlier versions of Visual Studio, Visual Studio 2010/2012 does not automatically link in
the output library of dependent projects, so you will need to add those libraries explicitly to the
parent project under Linker > Additional Dependencies. You can use the Visual Studio macros
$(ConfigurationName) and $(PlatformName) as required to qualify the path. For example:

..\FLIB\$(ConfigurationName)\FLIB.lib

Where $(ConfigurationName) will expand to Release or Debug, as appropriate. Similarly,
$(PlatformName) will expand to Win32 or x64 as appropriate.

Also, see How can I use older versions of the compiler with different versions of Microsoft Visual Studio*?

0 Kudos
Reply