This is a quite confusing post (to me). My confusion comes from phrases like "In a C environment" and "in a (MinGW-built) Perl environment".

I assume that by the former, you mean using 'the linker' from either directly from the command line, or indirectly via a command in a makefile.

And in the latter, using 'the linker' indirectly through a command line generated via EU::MM (or an EU::MM generated makefile.pl).

And later in the post you say "OTOH, the MSVC compiler is quite capable of linking to '.a' and '.dll.a' libraries (but not directly to dll's)". This is confusing because you don't link to .lib/.a files. You can link via a .lib/.a to a .dll.

Some MS nomenclature with *nix equivalencies (as best I know them; and sorry that most of this will be old info to you, but its the bits that aren't where either you are getting confused, or I am :):

All of which is leading up to this. I'm not sure whether the "search order" you describe for the MinGW linker is implemented by the linker itself? If it is, there is no equivalent for that using link.exe.

About the best that could be done to resolve the problem you are seeking to address, would be for the EU::MM to generate code in the makefile.pl it creates to cause it to go looking for each of the various suffixes when generating the makefile, and hardcode which ever it finds into the makefile.

link.exe doesn't care what the suffix on object libraries or import libraries is. It simply opens the named files and examines the contents to see if it recognises it and how to use it.

I'm not sure how helpful any of that is?


Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
"Too many [] have been sedated by an oppressive environment of political correctness and risk aversion."

In reply to Re: [Win32] The '-l' switch, and for which files the linker looks. by BrowserUk
in thread [Win32] The '-l' switch, and for which files the linker looks. by syphilis

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.