Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.

IVF resource defines missing?

Paul_Curtis
Valued Contributor I
2,350 Views
CVF's integration with DevStudio includes automatic generation of locres.fd and resource.fd files when the resource compiler (or whatever it is) processes dialog setup information.
Is this missing from IVF/VS.NET? The VS resource editor seems to provide equivalent services to DevStudio's (better property pages, actually), but apparently only generates locres.h and resource.h standard C header files.
Obviously it's not difficult to create a small program to read the .h files and produce the equivalent .fd files, invoked by an external batch command, but it would be nice (indeed, expected) to have this done automatically as part of the IVF integration with VS.
0 Kudos
31 Replies
Jugoslav_Dujic
Valued Contributor II
632 Views
Yes, I basically also concluded that VS.NET restart makes the problem go away. (You know the old joke about electric, mechanic, and computer engineer sitting ina car? :-))
.suo file is equivalent of VS6 .opt file. It's there in your solution directory, but it has hidden attribute -- enable "Show hidden files" in Explorer.
Jugoslav
0 Kudos
nijhuis
Beginner
632 Views
I don't know the joke. I like to hear it.
Guus
0 Kudos
Jugoslav_Dujic
Valued Contributor II
632 Views
An electric engineer, a mechanical engineer and a computer engineer enter the car but the engine won't start. The electric engineer says:
- It must be empty battery or faulty starter!
The mechanic engineer says:
- You don't know a thing -- can't you see it'sgearshift ?!
The computer engineer says:
- I think we shouldexit the car and re-enter it -- maybe it starts...
0 Kudos
nijhuis
Beginner
632 Views
My opinion, that I have about this forum, is confirmed : it's a very instructive forum!
Guus
0 Kudos
Steven_L_Intel1
Employee
632 Views
The .suo files contains solution-specific options such as breakpoints, what files are open, etc.
0 Kudos
Paul_Curtis
Valued Contributor I
632 Views
Well, I started this thread, and appreciate the various contributions, but am still unable to achieve automatic processing of .h to .fd.
I made sure the .h files are explicitly included, with custom build steps using deftofd with the input and outputs as specified in Jugoslav's post. This worked to generate .fd files precisely once, but the dependency checker evidently pays no attention to the relative timestamps of .h, .fdor .f90 files which INCLUDE the .fd files. If a menu or dialog is changed, which modifies the .h, this does not trigger any automatic action to repeat the custom build step the next time the project is built.
Also, I must say that the deftofd program does a lousy job compared to the CVF version of this utility. With IVF, there is no ordering or formatting of entries, whereas the old version was sorted and prettied up so you could quickly inspect groups of entries. There is an internal limit to the length of user-defined constant names in the .h file, with the names being automatically truncated if they exceed 15 chars or thereabouts, even though the resource editor allows you to inputlonger names; but .f90 has a different and much larger limit on variable names, so with long names the .h and the code (whichrelies onthe .fd) willnot correspond, and you have to go back and use shorter names which will not get trashed by the resource compiler, and then modify your code accordingly.
So we know a little bit more of the phenomenology, but this feature is still busted.
0 Kudos
Paul_Curtis
Valued Contributor I
632 Views
Addendum to my previous post--
The custom build step using deftofd occurs only when the .fd files do not exist. The dependency checker does not seem to infer any dependence of fname.fd on fname.h.
SteveL. remarkedsome time ago, before the initial release of IVF, that the dependency checker would be much improved over the CVF version, in large part because this tool is now built and maintained by Intel, whereas the CVF version was supplied by MS as part of DevStudio. The CVF version is flawed in that it always recompiles everything, but the Intel version compiles nothing: I see no evidence thata dependency checker exists at all within IVF. Selecting "rebuild all" voids all intermediate files, but the system then hasn't a clue as to build order for modules within a project, and has to be completely (re)trained manually. The CVF version was at least automatic.
0 Kudos
nijhuis
Beginner
632 Views
As I stated before: after I include resource.h in the project and fill in the correct properties for that file, the dependency checker does it work correct. When I change or add a resource, the resource.h is automatically changed and the "devtofd" does its work to generate a new .fd file. Further all files depending on .fd are compiled.
In my project the INCLUDE "resource.fd" is put in a module. Any file with a "use" for that moduleis indeedrecompiled when a resource item has changed.
No regenerates are done when resource items are deleted. The deletion of a resource item does not delete it from the resource symbol list, because it is only deactivated.
The ordering and formatting of the items as result of deftofd is indeed a mystery. One could expect that the lines are read from resource.h and directly translated in the corresponding FORTRAN statement. But they are mixed in the resource.fd in an unpredictable way. It doesn't matter me, because I seldom look in that file. I always use the Edit menu item "Resource symbols" to view the symbols, though it is not simple to find the item the first time.It can only be found in the Edit menu when resource.rc is in the edit box.
Guus
0 Kudos
nijhuis
Beginner
632 Views
Though all things are going well, as stated in the prior message, one thing remain a mystery for me.
I wonder which build step generates the file resource.h . When I compile the file resource.rc, I see the following build steps:

Generating Fortran include file...

Compiling resources...

src esource.rc

Compiling with Intel Fortran 8.1...

"compilation of resource-dependent files"

Because the first step "(Generating Fortran include file..) executes the program devtofd , whichuses the file resource.h as input and resource.fd as output, the resource.h has been made before this build step and also before the buildstep "Compiling resources". What happens in the caves of the Developer Studio?

Guus

0 Kudos
Jugoslav_Dujic
Valued Contributor II
632 Views
resource.h and whatever.rc are Siamese brothers, i.e. whatever.rc must always bein syncwith appropriate resource.h. Thus, resource.h is always created by Visual Studio when whatever.rc is saved. (As I said, in the good ol' CVF days, resource.fd was also created at the same time ).
Jugoslav
0 Kudos
Paul_Curtis
Valued Contributor I
632 Views
I have submitted this question of non-automatic generation of .fd files from .h files to Premier Support, where it isIssue271265 (I hope this doesn't mean there are 271264 other issues waiting to be addressed first). The issue has been presented asone aspect of the general failure of IVFdependency checking.
0 Kudos
Reply