Loading ...
Sorry, an error occurred while loading the content.

18562Re: broken build

Expand Messages
  • vipin aravind
    Feb 28, 2001
      craig,
      U found out correctly, its debug build, I had put on the mailing list
      to get an answer and nobody did, but u gave it correctly,
      I was able to hardcode the -DWIN32 and was able to get thru the compilation
      stage couple of hrs ago, u'r mail came a bit late.
      I had put it on the mailing list so that I don't had to go thru the mailing
      list
      But linking is failing

      LINK : warning LNK4098: defaultlib "LIBC" conflicts with use of other libs;
      use
      /NODEFAULTLIB:library
      edit.obj : error LNK2001: unresolved external symbol _vim_strnicmp
      ex_getln.obj : error LNK2001: unresolved external symbol _hkmap
      normal.obj : error LNK2001: unresolved external symbol _hkmap
      option.obj : error LNK2001: unresolved external symbol _buflist_slash_adjust
      os_win32.obj : error LNK2001: unresolved external symbol
      __imp__GetUserNameA@8
      vimd.exe : fatal error LNK1120: 4 unresolved externals
      NMAKE : fatal error U1077: 'link' : return code '0x460'
      Stop.

      The above problems answer is there in u'r mail.
      I WISH THIS REPORT BY CRAIG SHOULD BE TAKEN AS A PATCH FOR MAKEFILES.
      thanks
      vipin

      ----- Original Message -----
      From: Craig Barkhouse <craig@...>
      To: VIM Developers <vim-dev@...>
      Sent: Thursday, March 01, 2001 7:20 PM
      Subject: Re: broken build



      ----- Original Message -----
      From: "Vince Negri" <vnegri@...>
      To: "'vipin aravind'" <vipin.aravind@...>
      Cc: "VIM Mailing list" <vim-dev@...>
      Sent: Thursday, March 01, 2001 4:26 AM
      Subject: RE: broken build


      > > But Iam building on NT4 , doesn't that contradict u'r
      > > statement in braces.
      >
      > Strange... Vim built fine for me without having to define
      > WIN32 in the makefile - I have no idea why it works on my
      > machine in that case, by rights it shouldn't.... I'm
      > using VC++6 with service pack 4.

      It also built fine for me on Win2K without having to modify any files.
      WIN32 does get defined for me. This is because in Make_mvc.mak, CFLAGS is
      initialized to include $(CVARS). Just a bit earlier, CVARS was set to
      either $(cvars), or $(cvarsmt) for multithreaded, or $(cvarsd) whenever
      DEBUG is defined. It gets these from win32.mak which is !included. The
      problem is that $(cvarsd) does not exist, at least in my win32.mak (VC++ 6,
      SP4). Vipin is trying to compile the debug version.

      There is a similar problem with CON_LIB. When compiling the debug version,
      it gets set to $(conlibsd) or $(conlibsdlld). On my system, neither of
      these exist in win32.mak.

      Attached is a new Make_mvc.mak that I've tested using debug/non-debug and
      GUI/console (a total of four combinations). Below are the diffs.

      C:\Vim\latest\src>diff Make_mvc.mak.orig Make_mvc.mak
      120c120,122
      < !ifdef MULTITHREADED
      ---
      > !if defined(USE_MSVCRT)
      > CVARS = $(cvarsdll)
      > !elseif defined(MULTITHREADED)
      122,126d123
      < ! ifndef USE_MSVCRT
      < CON_LIB = $(conlibsmt)
      < ! else
      < CON_LIB = $(conlibsdll)
      < ! endif
      128d124
      < !ifdef NODEBUG
      130,142d125
      < ! ifndef USE_MSVCRT
      < CON_LIB = $(conlibs)
      < ! else
      < CON_LIB = $(conlibsdll)
      < ! endif
      < !else
      < CVARS= $(cvarsd)
      < ! ifndef USE_MSVCRT
      < CON_LIB = $(conlibsd)
      < ! else
      < CON_LIB = $(conlibsdlld)
      < ! endif
      < !endif
      144a128
      > # need advapi32.lib for GetUserName()
      146c130
      < CON_LIB = $(CON_LIB) shell32.lib
      ---
      > CON_LIB = advapi32.lib shell32.lib
      380c364
      < LINKARGS1 = $(linkdebug) $(conflags)
      ---
      > LINKARGS1 = $(linkdebug) $(conflags) /nodefaultlib:libc
    • Show all 11 messages in this topic