- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
I am trying to solve a link problem for a colleague, which was caused by a difference in calling convention
between the (precompiled) library that is used and the program. The program was using the CVF convention.
But while doing so, I also found that the interpretation of the external names was different - uppercase
versus lowercase.
The relevant properties for the project were set to "Default".
My questions are: where do the defaults come from? How can I check them? Are these set on a per-solution
base or are they set per implementation? How could I change them?
I want to understand the propagation of these defaults, since theyseem to becausing havoc.
Regards,
Arjen
I am trying to solve a link problem for a colleague, which was caused by a difference in calling convention
between the (precompiled) library that is used and the program. The program was using the CVF convention.
But while doing so, I also found that the interpretation of the external names was different - uppercase
versus lowercase.
The relevant properties for the project were set to "Default".
My questions are: where do the defaults come from? How can I check them? Are these set on a per-solution
base or are they set per implementation? How could I change them?
I want to understand the propagation of these defaults, since theyseem to becausing havoc.
Regards,
Arjen
Link Copied
3 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
> My questions are: where do the defaults come from?
In effect, from more than one place, and that fact could be part of the problem.
There are defaults built into the compiler driver, on top of which are the options listed in one or more configuration files (default file: ifort.cfg), environment variables (IFORTCFG, LINK, LIB, PATH, INCLUDE) and directives in the source and previously built object files and libraries, and command line options.
As long as you are the only developer, after a few days you will have tweaked some or all of the above to a suitable configuration for your purposes. A foreign file (such as the one from your colleague) breaks the equilibrium.
Tracking back to a specific source as the one to change in order to obtain the desired outcome is similar to debugging a program. Start by noting down all the options that you are aware of, and note their effects and interactions.
In VS, the properties window can show you the compile and link command lines in effect. Looking at them may help you spot sources of trouble.
In effect, from more than one place, and that fact could be part of the problem.
There are defaults built into the compiler driver, on top of which are the options listed in one or more configuration files (default file: ifort.cfg), environment variables (IFORTCFG, LINK, LIB, PATH, INCLUDE) and directives in the source and previously built object files and libraries, and command line options.
As long as you are the only developer, after a few days you will have tweaked some or all of the above to a suitable configuration for your purposes. A foreign file (such as the one from your colleague) breaks the equilibrium.
Tracking back to a specific source as the one to change in order to obtain the desired outcome is similar to debugging a program. Start by noting down all the options that you are aware of, and note their effects and interactions.
In VS, the properties window can show you the compile and link command lines in effect. Looking at them may help you spot sources of trouble.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi mecej4,
thanks for this answer. The problem is, my colleague is getting different results than I do and I
can not easily get to her computer (different location).
On my systems the ifort.cfg file is empty - just a comment that itmay be used for additional
options.
I haveseen the command-line as reported in the buildlog.htm file and that indicates why the
trouble occurs: both /iface:cref (what we want) and /iface:/cvf (what we do not want) are
present. I will have to verify where that second option is coming from - hopefully simply
the command-line, but otherwise I will need to see about the alternatives you mention.
Regards,
Arjen
thanks for this answer. The problem is, my colleague is getting different results than I do and I
can not easily get to her computer (different location).
On my systems the ifort.cfg file is empty - just a comment that itmay be used for additional
options.
I haveseen the command-line as reported in the buildlog.htm file and that indicates why the
trouble occurs: both /iface:cref (what we want) and /iface:/cvf (what we do not want) are
present. I will have to verify where that second option is coming from - hopefully simply
the command-line, but otherwise I will need to see about the alternatives you mention.
Regards,
Arjen
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The "project defaults" are those established when the product is installed. I don't think you can change them. (See Figure 1, item 2.) I find it useful to look at the "Command Line" property page, where all of the options passed to the compiler are specified. You may also find that some have been overridden on that page. Also compare the command line as shown in the build log.
![](/skins/images/98E68944C1FF703B8AC50091329B92AF/responsive_peak/images/icon_anonymous_message.png)
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page