help-emacs-windows
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [h-e-w] cmdproxy.c link error


From: Frank P Esposito
Subject: Re: [h-e-w] cmdproxy.c link error
Date: Tue, 20 Nov 2012 23:16:44 -0500

Hello --

Thanks for the info on the fix -- how long does it take for this fixes to make
into the tarball? is there a cvs/subversion repo to pull from?

It seems that many of the errors that I have found were related to "c99" -- The
info in the build docs indicates that building is still supported by older msvc
compilers that are at best c89

as noted, in etags.c and ctags.c you you needed stddef.h

I also found that in some of the "C" routines (alloc.c) there were uses of the
macro SIZE_MAX which seems to be a C99 ism --

since there was 3 or 4 places where this was an issue, it seems that the best
place to handle this was in config.h -- this is what I added



#ifdef _MSC_VER
 #include <limits.h>
 #ifdef _WIN64
  #define SIZE_MAX ULLONG_MAX
 #else
  #define SIZE_MAX ULONG_MAX
 #endif
#endif




I did not look at this error yet, but ther is some issue with coding.c and the
preprocessor defines


I did notice in the source this -- I don't recall the exact name, it when
something like this


#define foo(a,b,c) ... some define


when I found the reference to "foo" in the source it was like this


foo ( this, is, a )


where there was a space between "foo" and "("


I don't recall if that was is correct "C" syntax --


I have attached the console output of the build and line (2710) in coding.c
where this a issue


Frank Esposito





On Tue, Nov 20, 2012 at 12:14 PM, Eli Zaretskii <address@hidden> wrote:
>> From: Fabrice Popineau <address@hidden>
>> Date: Mon, 19 Nov 2012 22:24:51 +0100
>> Cc: Eli Zaretskii <address@hidden>, help-emacs-windows <address@hidden>
>>
>> > also, in the code segment in the makefile
>> >
>> >
>> > !ifdef USE_CRT_DLL
>> > libc            = msvcrt$(D).lib
>> > EMACS_EXTRA_C_FLAGS= -D_DLL -D_MT -DUSE_CRT_DLL=1
>> > !else
>> > libc            = libcmt$(D).lib
>> > EMACS_EXTRA_C_FLAGS= -D_MT
>> > !endif
>> >
>> >
>> > I think you want "!if" -- this is false if the expression is 0, true
>> > otherwise -- using
>> > !ifdef is alway true since the item USE_CRT_DLL is defined no matter
>> > what its value is
>> >
>> >
>> Good catch. You are right.
>> I always run
>> nmake USE_CRT_DLL=1
>> from the console, albeit I tried to maintain compilation with libc as as
>> with msvcrt.
>>
>> Eli : we need a !if here.
>
> Fixed.

Attachment: build-log.zip
Description: Zip archive


reply via email to

[Prev in Thread] Current Thread [Next in Thread]