in reply to Re^2: How to Compile v10 in Vista 64b ?
in thread How to Compile v10 in Vista 64b ?

Just comment out the last 3 lines below in the makefile. This was required for earlier versions if the compiler, but not for VC++ v9:

# The 64 bit Platform SDK compilers contain a runtime library that doe +sn't # include the buffer overrun verification code used by the /GS switch. # Since the code links against libraries that are compiled with /GS, t +his # "security cookie verification" must be included via bufferoverlow.li +b. !IF "$(WIN64)" == "define" LIBBASEFILES = $(LIBBASEFILES) bufferoverflowU.lib !ENDIF

A real fix would be to make it conditional upon both platform (64-bit) and compiler CCTYPE.


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.
"I'd rather go naked than blow up my ass"

Replies are listed 'Best First'.
Re^4: How to Compile v10 in Vista 64b ?
by iBradleyAllen (Novice) on Mar 26, 2010 at 20:33 UTC
    Ok, this gets to the next step, I had also got around this by switching to VC8.0 which had the bufferoverflowU.lib in the Amd64 folder... putting the different build path batch file and re running, so it shows up now as v8, behold:

    C:\Users\B\Downloads\latest.tar\latest\perl-5.10.1\win32>nmake install
    Microsoft (R) Program Maintenance Utility Version 8.00.50727.42 Copyright (C) Microsoft Corporation. All rights reserved. link -subsystem:console -out:..\generate_uudmap.exe @C:\Users\ +B\AppDa ta\Local\Temp\nm4490.tmp LINK : fatal error LNK1104: cannot open file 'PerlCRT.lib' NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual S +tudio 8\VC \BIN\amd64\link.EXE"' : return code '0x450' Stop.

    Ive been trying to look for settings in the makefile.mk that cause this, at first glance it looks like somewhere maybe some part of "if $(USE_PERLCRT) != define " logic is backwards, maybe its me.

    I thought the define for perlcrt.lib is turned OFF, yet it still shows up as cannot find that file.

      I don't have VC8 so I cannot help you with that. It doesn't happen with VC9.

      If your lucky, syphilis will be along later. He uses VC8 and knows more about this stuff than most anyone.


      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.