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

what project files can be deleted after CVF import

Brian_Murphy
New Contributor II
1,236 Views
After importing a project from CVF, there are a bunch of "project" files which are listed below. Which of these are no longer needed and safe to delete? Also, why are there both vcxproj and vfproj files? HsealH.dsp HsealH.dsw HsealH.ncb HsealH.opt HsealH.plg HsealH.sdf HsealH.sln HsealH.suo HsealH.vcxproj HsealH.vcxproj.filters HsealH.vcxproj.user HsealH_.u2d HsealH_.vfproj HsealH_log.txt
0 Kudos
5 Replies
Steven_L_Intel1
Employee
1,236 Views

The .vcxproj file was created when Visual Studio first opened the .dsp file. You can delete all but the .sln, .suo and .vfproj files.

Also, open the project and go to Properties > Fortran > Command Line. If there's a /machine switch under Additional Options, delete it. You may also want to consider Fortran > External Procedures and changing the Calling Convention to Default, unless you know you depend on the CVF convention.

0 Kudos
Brian_Murphy
New Contributor II
1,236 Views

Thanks.  I will do that. 

Although I'm hesitant to change calling convention because the program is working right now with the /iface:cvf option.  Is there a blog or other web page that explains the calling convention stuff.  I don't really understand the differences between options.  Most of the time I'm building DLL's to be called from Excel VBA.  Both fortran and c++ DLLs.  Some of my fortran DLL's have the calling convention set to default, and some have cvf.  They are all working, but I'd like to it the right way, and feel like I know what I'm doing.  This is a change in topic.  Should I start a different thread?  I am making myself a Word to spell out how to make DLL's specifically for calling from Excel VBA, and itemize what can go wrong.

0 Kudos
JVanB
Valued Contributor II
1,236 Views

Getting the calling convention right was discussed in https://software.intel.com/en-us/forums/topic/563609 .

There I cited a link that discussed the issue from the perspective of making procedures callable from VBA: https://msdn.microsoft.com/EN-US/library/office/bb687850.aspx .

If you want to see how things look on the lowest level, i.e. assembly language, there is http://www.agner.org/optimize/calling_conventions.pdf .

It's no surprise that you are confused. There are different ways to specify the calling convention to be used and how each individual argument is to be passed -- literally hundreds of possibilities, not all of which will compile successfully. My suggestion is to look at the first two links above and review the mixed language chapter in the ifort documentation and then choose a style that makes sense to you and stick with it.

 

0 Kudos
Steven_L_Intel1
Employee
1,236 Views

I'll comment that we now have "!DEC$ ATTRIBUTES CVF" which you can specify for a routine that will apply CVF's defaults. But RO's advice is good.

0 Kudos
Brian_Murphy
New Contributor II
1,236 Views

Thanks for the links.  The long thread was over my head, but the msdn article was very helpful.  Something I learned from it is not to modify string variables in the DLL unless you really know what you're doing.

0 Kudos
Reply