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

Should I upgrade Visual Studio?

Roman1
New Contributor I
773 Views

I am currently using MS Visual Studio 2010 with Intel Fortran compiler 16.  I am perfectly happy with this setup.  In the release notes, it is written that Visual Studio 2010 is deprecated.  Do you recommend that I upgrade to Visual Studio 2015 now?  Are there any new features that will help me with Fortran development?

 

Roman

 

0 Kudos
18 Replies
Steven_L_Intel1
Employee
773 Views

Offhand I can't think of any Fortran-specific enhancements, but as indicated, you will need to change versions if you want to use the next major release from Intel. If you have a separate VS because you also use Microsoft languages such as C++, there are many improvements there.

0 Kudos
Roman1
New Contributor I
773 Views

I would like to start experimenting with the new Visual Studio Community 2015 now.  Do you know if it is possible to have both Visual Studio 2010 and Visual Studio Community 2015 installed at the same time, and both working with the Intel Fortran compiler?

 

0 Kudos
Steven_L_Intel1
Employee
773 Views

Yes, this works fine. I have multiple versions of VS installed, from 2008 through 2015.

See also https://software.intel.com/en-us/articles/using-older-intel-visual-fortran-versions-in-different-microsoft-visual-studio-versions

0 Kudos
Roman1
New Contributor I
773 Views

I did some experimenting with Visual Studio 2015, and it did not work as well as VS2010.  Attached is a pdf file that describes a problem I have encountered, when building a project in VS2015.  I have also attached a zip file with the projects.  This is not urgent, because for now, I can continue using VS2010.

 

0 Kudos
mecej4
Honored Contributor III
773 Views

When you right click on Prog2, in the pop-up menu you see Build, and a bit below Project Only. You probably chose the former, which is for the whole "solution". If you choose the latter, and then choose Prog2 in the sub-menu, it will build just Prog2.

0 Kudos
Andrew_Smith
New Contributor III
773 Views

There is one enhancement I know of. When you have an extended derived type you can see base type components in the debugger without needing to drill down to the base class.

Can we have the ability added to be able to watch a slice from a derived type array. ie.:

type Foo
    integer a
end type

type(Foo) Bar(10)

Then be able to see Bar%a in the debugger as an array of integers. It should work for components in in extended types too.

It would save a lot of time because right now I would need to copy and paste as many times as elements in the array if I needed to view the array, e.g.

Bar(1)%a

Bar(2)%a

etc. in the watch window.

I know you can put Bar in the watch and expand it one element at a time but it can be laborious, especially if the type contains a whole bunch of stuff and you need to search the list.

Or declare a local integer array pointer just for debugging but it means stopping the app, recompiling and starting up again which for me is not trival.

 

0 Kudos
Roman1
New Contributor I
773 Views

mecej4, thanks for the comment.  Does this mean that in VS2015, the meaning of Build and Rebuild have changed?  In VS2015, on top, in the menu, if I choose: Build | Build prog2  ,  the compiler tried to compile prog1 and stops, even though I asked it to build prog2.  The same thing happens if I choose in the menu  Build | Rebuild prog2 .   Again, it compiles only prog1 and stops. 

However, when I do as you suggested, and choose Build | Project Only | Build Only prog2 , the compiler, as expected, compiles prog2.  There seems to be an extra step that needs to be done, compared to what I had to do in the previous VS2010. 

 

0 Kudos
Steven_L_Intel1
Employee
773 Views

I am not aware of any changes in this regard. Maybe VS thought that proj2 was up to date. Note that when you use the Build menu, it refers to the solution not a project.

0 Kudos
Roman1
New Contributor I
773 Views

I don't know why it would think is was up to date, because I made sure all the *.obj files were erased.  If I choose in the menu: Build | Build prog2 , I would expect it to compile project "prog2", not "prog1".  Like I said before, the only way I could get prog2 compiled, is if I choose  Build | Project Only | Build Only prog2 .  This behavior is different than what I am used to when using the old VS2010.

 

0 Kudos
Steven_L_Intel1
Employee
773 Views

You have a solution named prog2 and a project named prog2, The Build menu names the solution. I have not noticed any difference in multi-project build behaviors in VS2015. Are all of these Fortran projects?

0 Kudos
Roman1
New Contributor I
773 Views

I think one of us is confused.  :-)

I have a solution named "VStest".  This solution has two Fortran projects "prog1" and "prog2".  Did you look at the pdf file from my previous comment (#5) ?

 

0 Kudos
Steven_L_Intel1
Employee
773 Views

I was referring to the suggestion of using the Build menu.

I've seen another case of a problem like yours, though with VS2013. Recreating the solution fixed the problem - perhaps even copying it to a different folder might do that.

0 Kudos
Roman1
New Contributor I
773 Views

After recreating the solution and projects, I have figured out what the problem is.

For anyone interested, here it is.
In the solution file (*.sln), for each project, there is a line:

Project("{6989167D-11E4-40FE-8C1A-2192A86A7E90}") = "prog2", "prog2.vfproj", "{C23A2ED0-DACD-4332-9DA9-024485E34B3A}"

In each project file (*.vfproj), there is a line:

<VisualStudioProject ProjectCreator="Intel Fortran" Keyword="Console Application" Version="11.0" ProjectIdGuid="{C23A2ED0-DACD-4332-9DA9-024485E34B3A}">

The ID values must match exactly, otherwise, there will be problems that I had earlier.  The older VS2010 did not seem to care that they were not identical.

The reason they were not identical, is because I would first create a project with all the setting that I wanted.  Then, for each additional project, I would copy this file and add it to the solution.  The ID value would therefore be whatever was in the previous project.

What I was doing is similar to:
https://software.intel.com/en-us/forums/intel-visual-fortran-compiler-for-windows/topic/635626

 

0 Kudos
Steven_L_Intel1
Employee
773 Views

Interesting! Sorry to have created this problem for you.

0 Kudos
Roman1
New Contributor I
773 Views

Don't worry Steve, I am not blaming you  :-)

So, the problem is when adding a project with  File | Add | Existing Project ... , an entry is created in the .sln file with an unique ID.  The ID in the .vfproj file remains unchanged.  I am not sure if this is considered a bug (feature?) of Visual Studio, or Fortran Integration.

 

0 Kudos
Steven_L_Intel1
Employee
773 Views

Interesting question. We'll look into it.

0 Kudos
jimdempseyatthecove
Honored Contributor III
773 Views

Does VS2015 have an import? (import settings from?)

Or, does VS2015 have a Project Properties that re-generates the GUID of the project?

Jim Dempsey

0 Kudos
jimdempseyatthecove
Honored Contributor III
773 Views

Roman,

What you are doing is perfectly reasonable: Create a template project, copy to solution folder, add existing project, rename, add code. Many developers must be doing this.

Jim Dempsey

0 Kudos
Reply