Exported functions not present in C DLL on x64 bit platforms, WHY ??

Discussion in 'Windows 64bit' started by Server Applications, Sep 4, 2006.

  1. Hi,

    I'am trying to port a 32bit application to 64bit.

    It is a dll and a exe (console) app. My problem is that the dll generated
    for the x64 platform does not contains any of the exported functions. The
    application crashes when it tries to call one of the functions located in
    the dll.

    Depency Walker also shows that they are missing. I can't figure out why. I
    have tried using a def file and __declspecs(dllexport). It does not work on
    the x64 bit platform. On the 32 bit platform they work perfect. If I run the
    32bit version on the 64, it works fine, but that is not what I want :-(

    I have tried to make some small test programs (dll + exe) from the visual
    studio templates, here the dll also has the same problem. The export
    functions are "invisible".

    The application is build with VS 2005 team edition on a 32 bit system. I
    have not tried to build on the 64 bit platform.

    Any ideas ??

    Thanks
    Jan A.
     
    Server Applications, Sep 4, 2006
    #1
    1. Advertising

  2. Jan -
    This is, primarily, an enduser and IT Pro newsgroup, though there are a
    few developers who swing by periodically. You may get a faster response over
    in one of the MSDN newsgroups or on the MSDN "forums", if you can stand the
    web interface.

    Charlie.

    "Server Applications" <> wrote in message
    news:uollu%...
    > Hi,
    >
    > I'am trying to port a 32bit application to 64bit.
    >
    > It is a dll and a exe (console) app. My problem is that the dll generated
    > for the x64 platform does not contains any of the exported functions. The
    > application crashes when it tries to call one of the functions located in
    > the dll.
    >
    > Depency Walker also shows that they are missing. I can't figure out why. I
    > have tried using a def file and __declspecs(dllexport). It does not work
    > on
    > the x64 bit platform. On the 32 bit platform they work perfect. If I run
    > the
    > 32bit version on the 64, it works fine, but that is not what I want :-(
    >
    > I have tried to make some small test programs (dll + exe) from the visual
    > studio templates, here the dll also has the same problem. The export
    > functions are "invisible".
    >
    > The application is build with VS 2005 team edition on a 32 bit system. I
    > have not tried to build on the 64 bit platform.
    >
    > Any ideas ??
    >
    > Thanks
    > Jan A.
    >
    >
    >
    >
    >


    --
    Charlie.
    http://msmvps.com/blogs/xperts64
     
    Charlie Russel - MVP, Sep 4, 2006
    #2
    1. Advertising

  3. Hi, I have no experience with porting stuff, but if I am not totally wrong
    about this, the 'calling-convention' of a DLL is 'special', your app may not
    get a respons from the DLL when it calls out for those functions, take a
    close look on this issue - and make sure that the calling-convention
    conforms to 64bit requirements. If Dependency Walker is 64bit aware on it's
    own, and not just running fine on 64bit, it may well be a victim of the very
    same thing, as I see it.

    And as Charlie said - there are other's that do it better.


    Tony. . .
     
    Tony Sperling, Sep 5, 2006
    #3
  4. Hi,

    I have found "my" problem

    See: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=524361&SiteID=1

    /Jan


    "Server Applications" <> wrote in message
    news:uollu%...
    > Hi,
    >
    > I'am trying to port a 32bit application to 64bit.
    >
    > It is a dll and a exe (console) app. My problem is that the dll generated
    > for the x64 platform does not contains any of the exported functions. The
    > application crashes when it tries to call one of the functions located in
    > the dll.
    >
    > Depency Walker also shows that they are missing. I can't figure out why. I
    > have tried using a def file and __declspecs(dllexport). It does not work

    on
    > the x64 bit platform. On the 32 bit platform they work perfect. If I run

    the
    > 32bit version on the 64, it works fine, but that is not what I want :-(
    >
    > I have tried to make some small test programs (dll + exe) from the visual
    > studio templates, here the dll also has the same problem. The export
    > functions are "invisible".
    >
    > The application is build with VS 2005 team edition on a 32 bit system. I
    > have not tried to build on the 64 bit platform.
    >
    > Any ideas ??
    >
    > Thanks
    > Jan A.
    >
    >
    >
    >
    >
     
    Server Applications, Sep 5, 2006
    #4
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Mike Brannigan [MSFT]

    Some GPT documentation for 64-bit platforms needs to be updated

    Mike Brannigan [MSFT], May 11, 2005, in forum: Windows 64bit
    Replies:
    10
    Views:
    1,079
    Charlie Russel - MVP
    Jun 4, 2005
  2. Steve Thompson
    Replies:
    6
    Views:
    361
    Andre Da Costa [Extended64]
    Jul 15, 2005
  3. Alain Bourgeois

    dll's are not found although present in path?

    Alain Bourgeois, Jun 21, 2007, in forum: Windows 64bit
    Replies:
    2
    Views:
    452
    Charlie Russel - MVP
    Jun 22, 2007
  4. Snoopy
    Replies:
    16
    Views:
    3,053
    Mainlander
    Aug 25, 2003
  5. XPD

    OS present but not present.

    XPD, Apr 11, 2007, in forum: NZ Computing
    Replies:
    4
    Views:
    571
    ~misfit~
    Apr 12, 2007
Loading...

Share This Page