I've moved the dll file into the same folder as my Perl code to try to eliminate path issues

It's better to put it in a folder that's already in the path, or add the location of the dll to the path:
set PATH=C:\wherever\it\is;%PATH%
At least then you know that it's going to be found when needed. (And if something wants to load it, but can't find it, you should get a pop-up that tells you quite clearly that the dll could not be found).

Of course, *I* don't even know whether your dll exports the symbol in question. (Try running objdump -t dptcpiphi.dll >dump.txt 2>&1, then examine dump.txt to see what is being exported.)

Probably best, anyway, that you create an import library and link to that:
gendef dptcpiphi.dll dlltool --kill-at --input-def dptcpiphi.def --output-lib libdptcpiphi. +a
You should already have dlltool (in MinGW/bin), but you probably won't have gendef.
I know it comes with latest StrawberryPerl. If you want to get hold of it that way then I recommend either this 32-bit build or this64-bit build
You'll want the same architecture (ie 32 or 64 bit) as the dll itself.
Just unzip the Strawberry Perl package to whatever location you choose, navigate to that location, double click on 'portableshell.bat' and use the shell that pops up.
You can probably get gendef elsewhere if you want to hunt around - and I think there's an alternative tool (whose name I can't remember).

IMHO, you're better off using Strawberry Perl (which ships with gcc-4.8.2) - as opposed to using ActivePerl and gcc-3.4.5. You could, of course, instead use Strawberry's gcc-4.8.2 with ActivePerl, but I think you're better off with Strawberry Perl anyway (unless you're wanting to use a Microsoft compiler).

Having created the import library, stick it in some location - say C:/my/libs. The correct invocation in the script is then:
use Inline C => Config => LIBS => '-LC:/my/libs -ldptcpiphi';
If that doesn't find the missing reference, then the dll apparently doesn't provide it.
Let us know how you get on.

Cheers,
Rob

In reply to Re^3: Understanding Inline::C to call vendor libraries by syphilis
in thread Understanding Inline::C to call vendor libraries by murrayn

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.