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

Problem opening a CVF6.6 project into IVF10

hector_t
Beginner
1,858 Views
I've followed the steps described in the whitepaper "porting applications from compaq vf to intel vf" and i have a problem.

The workspace (.dsw) has a lot of projects (.dsp), when IFV tries to open a .dsp file, it gets the following error:
"the project xxxx.dsp has been corrupted and cannot be opened"

I have a license for IVF that installs Visual Studio 2005, but it does not include C++.

Anyone knows what is happening?

Thanks a lot.
0 Kudos
21 Replies
Steven_L_Intel1
Employee
1,533 Views
The whitepaper says that loading and converting CVF projects is not available when you are using the bundled "Visual Studio 2005 Premier Partner Edition". It also says this in the compiler release notes. The reason for this is that the code to load a .dsp and convert it is part of Visual C++.

You will have to create a new project, add the source files and manually set the options required.
0 Kudos
hector_t
Beginner
1,533 Views
Thanks!
0 Kudos
hector_t
Beginner
1,533 Views
Hello!

I have converted the workspace, and i have compiled all the projects. Now, when i try to execute some programs, I get an error:
"The application failed to initialize properly (0XC0000005). "

I cant debug the program.

What's the problem?
0 Kudos
Steven_L_Intel1
Employee
1,533 Views
Did any error messages come out during the build?
0 Kudos
hector_t
Beginner
1,533 Views
Nop. It compiles and links with no errors.
0 Kudos
Steven_L_Intel1
Employee
1,533 Views
Attach a zip of the project to an issue submitted to Intel Premier Support and we'll take a look.
0 Kudos
hector_t
Beginner
1,533 Views
Hello

I've been testing my project. In the workspace i have a dll (written in fortran) and a lot of programs linked to that dll (the file dll.lib is included in the project).

I have some variables in the dll that are shared by all the programs. All the programs work ok. The fail occurs when i try to execute one of them while other is executing.

What do you think? Shall I send an issue with the whole Solution?

Thanks a lot.
0 Kudos
Steven_L_Intel1
Employee
1,533 Views
Yes, that would be fine. Please ask that it be assigned to Steve Lionel. Have you linked the DLL containing the shared variables specifying /SECTION:.DATA,RWS ? There is a DLL_Shared_Data sample provided in 10.0 that may be helpful.
0 Kudos
hector_t
Beginner
1,533 Views
Hello Steve,

I have compiled all the programs wiht no errors and everything seems to work correctly, but i have two programs with errors like this:
Error: This EQUIVALENCE object must be an array. [PROA]

it reffers to this lines:
EQUIVALENCE
E (PROA( 1),LVDANZ(1,1)),
E (PROA( 73),AXI),
E (PROA( 74),AXA),
E (PROA( 75),AZT),
E (PROA(104),FLUSS)



PROA(120) is a variable defined in the dll of the project, and maybe is the reason why it fails.

What do you think?


0 Kudos
Steven_L_Intel1
Employee
1,533 Views
This message says that the compiler is not seeing a declaration of PROA as an array. If it is defined in a module, you must USE the module.
0 Kudos
hector_t
Beginner
1,533 Views
Yes, it's defined in a module, and I USE that module.
PROA is used in other programs with no problems, only fails when i try to use it in an equivalence.
0 Kudos
Steven_L_Intel1
Employee
1,533 Views
Ah - you can't EQUIVALENCE a variable that comes from another scope, only those declared in your local scope. Move the EQUIVALENCE into the module and it should work.
0 Kudos
hector_t
Beginner
1,533 Views
Ok, thank you again!

I have another problem.
I call a routine (in a dll) that opens a file in a unit specified by argument, but when i try to read from that file in the program scope, it seems that the file is not opened.

In CVF, the file is opened until the program ends.
0 Kudos
Steven_L_Intel1
Employee
1,533 Views
In CVF, you had to specify that the EXE project was to link against the DLL libraries in order to make that work. It's the same in Intel Fortran. On the project properties page, change Fortran > Libraries > Use Run-time Libraries to match that used by the DLL project (probably Multithread DLL).
0 Kudos
hector_t
Beginner
1,533 Views
Thanks Steve

In my project, the option selected is Debug Multithread Dll. I think this is not the problem...

Maybe the problem is in the Dll settings..
0 Kudos
hector_t
Beginner
1,533 Views
Oops!

In the dll the option was Multithreaded, i've changed it to multithread dll and now it works.

Thanks again!!
0 Kudos
hector_t
Beginner
1,533 Views
Hello

I still have problems with shared memory in my dll. It seems that each program has its own copy of the variables in the dll and they dont share data. Is this possible, how can I share data between programs?
0 Kudos
hector_t
Beginner
1,533 Views
I have observed that the problem is in the array variables.
0 Kudos
hector_t
Beginner
1,533 Views
When I debug an application that uses that shared memory, an d I try to see whats in a shared variable, i get the "undefined variable" message.
0 Kudos
Steven_L_Intel1
Employee
1,405 Views
See my reply above regarding sharing variables between programs.

There are many possible reasons you are not seeing the variables in the debugger. Without knowing more about your program or what you are doing, it is difficult to suggest anything. If the variable is in a module, try using the syntax modulename::variablename in the Watch window.

I highly recommend building and running the sample I mentioned earlier and watching its behavior in the debugger.
0 Kudos
Reply