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

Qlocation Compiler switch

Tino_Zerbini
Beginner
774 Views
I'm using Developer Studio 2008 and I just downloaded the trial version of IVF 12. When I compile now, the linker doen't find the .obj files, so I have to move them to where it expects to see them.Somehow the compiler switch "Qlocation, linker FileNameSomething" is set. The documentation says that this switch was no IDE equivalent.

Question:
1. How was this switch set since I did not set it in theIDE?
2. How do Ichange it so I can point the linker to the right directory?

0 Kudos
7 Replies
Steven_L_Intel1
Employee
774 Views
If you are building from the IDE, that switch is automatically supplied by the build system and you should not try to change it. It specifies where to find the linker. Can you attach a buildlog.htm from a failed build? I suspect there is something else wrong and that your focusing on /Qlocation is not going to help.
0 Kudos
Tino_Zerbini
Beginner
774 Views

Hi Steve,

You are right. I was focusing on Qlocations because it did not look right in the buildlog. I attached the buildlog as a pdf file (sorry, the computer I ran Fortran is not connected to the internet, nor does it have removable media options).

I am building from the IDE.

First Problem:

I highlighted the Qlocation problems. As you can see, Qlocations appears twise. The first one appeared today, and that is why I can't compile anymore. How do I remove the first Qlocation?

The second one has two back-slashes before bin. How do I change the Qlocation field? Note that the IDE found the linker.

Second Problem:

When I compiled last week, the linker failed to find the obj files. Looking at the buidlog, it showed that the linker was looking for the obj files in a different directory (I use the compiler switch /object:$(root)\obj\$(filename), but somehow the linker did not use this). I moved the obj files to the directory that the linker expected and the linker worked.

I did not notice these problems before upgrading to version 12.

I hope you can help me fix these problems, and I thank you in advanced, Tino

0 Kudos
Steven_L_Intel1
Employee
774 Views
First thing is to look at the project property page Fortran > Command Line. Is there anything under Additional Options that should not be there?

Next, look at C:\Program Files)\Intel\ComposerXE-2011\bin\ia32\ifort.cfg It should have just one line beginning with a # character.
0 Kudos
Tino_Zerbini
Beginner
774 Views

Hi Steve

Thanks, I found the line in Fortran>Command Line. I was trying to override the Qlocations and I forgot to delete it. The Qlocations still has two back slashes, but it seems that it is picking the right linker.

Now it compiles, but the linker can't find 3 of the obj files.

The linker expects this files in the Debug directory, but they are located in the Debug/obj directory like the rest of the obj files. This 3 files are ".f90", whereas the rest are ".f". So, I don't know why the linker treats this files differently. Note that when I move these 3 files to the Debug directory, the linker works fine and the program executes to completion with no errors.

Regards, Tino

0 Kudos
Steven_L_Intel1
Employee
774 Views
Did you change other settings, such as where objects should go? Normally they would be in Debug and there would be no subdirectory of Debug. You may have modified some of the source file properties to put the objects in a place other than the default $(IntDIr).

I might suggest at this point to just create a new solution/project, copy your sources to the project folder, add them to the project and build. It seems you've been making edits that are causing you trouble.
0 Kudos
Tino_Zerbini
Beginner
774 Views
I changed the location of the objs in Fortran>Output Files> Object File Name to $(InDir)\obj\$(InputName).obj

All the files in the project show the same location (.f and .f90). The linker find the obj which were generated with the .f but doesn't find the ones with .f90

0 Kudos
Steven_L_Intel1
Employee
774 Views
I suggest instead that if you want to change the place the objects go, do it in General > Intermediate Directory. This way everythinhg will be consistent, The Fortran Obvject File Name should be reset to default.

If you still need help, please attach the .vfproj file, or you can open it in notepad and print it to PDF if you must.
0 Kudos
Reply