James Vega wrote:

> On Tue, May 18, 2010 at 4:29 PM, Bram Moolenaar <[email protected]> wrote:
> >
> > Cesar Romani wrote:
> >
> >> On 18/05/2010 07:37 a.m., Cesar Romani wrote:
> >>  > On 18/05/2010 03:43 a.m., Bram Moolenaar wrote:
> >>  >  >
> >>  >  > Cesar Romani wrote:
> >>  >  >
> >>  >  >> I got following error:
> >>  >  >>
> >>  >  >> --------------------
> >>  >  >> gobjZ/ex_docmd.o:ex_docmd.c:(.text+0x1116c): undefined reference to
> >>  >  >> `blowfish_self_test'
> >>  >  >> gobjZ/fileio.o:fileio.c:(.text+0x704f): undefined reference to
> >>  >  >> `blowfish_self_test'
> >>  >  >> [...]
> >>  >  >> gobjZ/option.o:option.c:(.text+0x54ac): undefined reference to
> >>  >  >> `blowfish_self_test'
> >>  >  >> collect2: ld returned 1 exit status
> >>  >  >> make: *** [gvim.exe] Error 1
> >>  >  >> --------------------
> >>  >  >>
> >>  >  >> Many thanks in advance
> >>  >  >
> >>  >  > I suspect the blowfish.c and sha256.c files are missing from the
> >>  >  > Makefile. Which Makefile were you using?
> >>  >  >
> >>  >
> >>  > I'm using Make_ming.mak and it also misses from Make_cyg.mak
> >>
> >> If I include blowfish.c and sha256.c I get:
> >>
> >> --------------------
> >> ...
> >> blowfish.c:24: error: syntax error before "uint32_t"
> >> blowfish.c:26: error: syntax error before '}' token
> >> blowfish.c:39: error: syntax error before '*' token
> >> blowfish.c:41: error: syntax error before "ipa"
> > [...]
> >> make: *** [gobjZ/blowfish.o] Error 1
> >> --------------------
> >
> > Strange that these compilers don't define uint32_t.
> 
> They most likely do define it, but you have to include inttypes.h or
> stdint.h to get that definition.  Vim currently doesn't do that
> anywhere.  The patch I sent in the "Problem with vim7.3a and Perl"
> thread includes those header files based on configure checks.  Not sure
> how you want to handle it for non-configure systems.

For MS-Windows we can be quite sure that "unsigned int" is 32 bits.  Not
much of the MS-Windows API code works if that's not true.

Then again we have the problem that we can define uint32_t to unsigned
int when not on Unix, but if stdint.h is included indirectly we get the
redefine error...

Looks like we need to use uint32_T in the code and define it to uint32_t
or unsigned int in vim.h, depending on the system.

-- 
hundred-and-one symptoms of being an internet addict:
72. Somebody at IRC just mentioned a way to obtain full motion video without
    a PC using a wireless protocol called NTSC, you wonder how you never
    heard about it

 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\        download, build and distribute -- http://www.A-A-P.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

Raspunde prin e-mail lui