Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Объявления
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.
29285 Обсуждение

IVF resource defines missing?

Paul_Curtis
Ценный участник I
2 369Просмотр.
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 баллов
31 Ответы
Jugoslav_Dujic
Ценный участник II
636Просмотр.
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
nijhuis
Начинающий
636Просмотр.
I don't know the joke. I like to hear it.
Guus
Jugoslav_Dujic
Ценный участник II
636Просмотр.
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...
nijhuis
Начинающий
636Просмотр.
My opinion, that I have about this forum, is confirmed : it's a very instructive forum!
Guus
Steven_L_Intel1
Сотрудник
636Просмотр.
The .suo files contains solution-specific options such as breakpoints, what files are open, etc.
Paul_Curtis
Ценный участник I
636Просмотр.
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.
Paul_Curtis
Ценный участник I
636Просмотр.
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.
nijhuis
Начинающий
636Просмотр.
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
nijhuis
Начинающий
636Просмотр.
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

Jugoslav_Dujic
Ценный участник II
636Просмотр.
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
Paul_Curtis
Ценный участник I
636Просмотр.
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.
Ответить