in reply to Re^4: Installation of DBD::Sybase with Strawberry Perl
in thread Installation of DBD::Sybase with Strawberry Perl

In order to make sure that the library does contain function references use nm -a or some windows equivalent.

But why does the Makefile runs the compiler with these 2 flags: -DWIN32 -DWIN64. They seem contradictory to me? If you are linking 32 bit libraries with 64 bit perl you are most likely have problems.

bw, bliako

Replies are listed 'Best First'.
Re^6: Installation of DBD::Sybase with Strawberry Perl
by syphilis (Archbishop) on Mar 10, 2021 at 04:13 UTC
    But why does the Makefile runs the compiler with these 2 flags: -DWIN32 -DWIN64

    They're actually part of perl's ccflags:
    C:\perl -V:ccflags ccflags=' -DWIN32 -DWIN64 -D__USE_MINGW_ANSI_STDIO -DPERL_TEXTMODE_SCR +IPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv + -fno-strict-aliasing -mms-bitfields';

    WIN32 is a symbol that's defined on all Windows systems (both 32-bit and 64-bit). I don't think there's any need to specify it.
    Defining WIN64 specifies that you want to operate in 64-bit mode, and that the compiler is 64-bit..

    Cheers,
    Rob

      Oh ok thanks, so I understand that WIN32 has nothing to do with 32bit vs 64bit. It's just the presence or absence of WIN64 that does that. Then perhaps it is worth to check if sybase libs are 64bit as well although that may throw other error messages.

        Then perhaps it is worth to check if sybase libs are 64bit as well although that may throw other error message

        If that were the case then there should have been some warnings about ignoring incompatible libraries .... and maybe there were! (We don't really know.)

        So, yes, this should be checked.

        Cheers,
        Rob