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

VISUAL STUDIO ISSUE MOST LIKELY - CAN'T SEE INCLUDE FILE

Guaglardi__Paul
Beginner
1,252 Views

Using Microsoft Visual Studio 2015 fortran code runs fine and an INCLUDE file is picked up and found just fine.  Same code including have gone through ALL the preprocessor options running in Microsoft Visual Studio 2017 yields an inability for the INCLUDE file to be read.  Assumption that this is a Visual Studio issue as nothing changed with the FORTRAN.  I post here in the event that anyone else has seen this problem?

0 Kudos
3 Replies
Steve_Lionel
Honored Contributor III
1,252 Views

Visual Studio has no relevance here, other than providing you ways of telling the compiler where INCLUDE files are located. Please attach a ZIP of the buildlog.htm from the Debug or Release folder after you have done a Rebuild of the project. It would be helpful if you also included in the ZIP the .vfproj file for the project.

0 Kudos
Guaglardi__Paul
Beginner
1,252 Views

Steve, first thanks for answering questions.  It is clear that you liked your job at INTEL and I cannot blame you, cool stuff solving issues.  What I did was go to Tools Options and then Intel Tools and Compilers through MSV 2017.  Then, under compilers added the path to the "Set Directory List" for the includes.  Voila!  It worked.  Stated, clearly there are differences between MSV 2015 and 2017.  Same set up, or appearingly so, takes more execution time in 2017 than it does in 2015.  So far, not seeing the benefit of 2017 over 2015...nothing to do with FORTRAN specifically.  Thanks for your input.

0 Kudos
Steve_Lionel
Honored Contributor III
1,252 Views

There are two places for specifying INCLUDE directories. The one you found applies to all compiles across all projects. Typically this is used only for "system" type INCLUDE files, but if you have a set of files that you use a lot, that's a fine place to set them.

The other is in the Project properties - there are two property pages that have "Additional Include Directories" properties: General and Preprocessor. They are the same (set one and the other changes.) This affects that project only. Note that project properties, by default, are specific to the Configuration (Debug/Release) and Platform (Win32/x64). If you want to set it for all of one or both, you have to specify "All Configurations"and/ or "All Platforms". If you are using module files, which are also found using these paths, you probably won't want to use "All Platforms" since .mod files are platform-specific.

The default for INCLUDE files is the directory where the source file that had the INCLUDE statement is located. (Controlled by /assume:source_include). If the compiler doesn't find it there, it will look in the project's "additional" directories first and then the ones you set under Tools. Note that the latter is also platform-specific.

The VS version has no real effect on program execution time. The only possible connection I could think of is the different MSVC libraries, but I have yet to see where those make a measurable difference.

0 Kudos
Reply