[Ecls-list] ecl-0.9e msvc 7.1 linker error (windows).

Valery Syssik syssik at mail.ru
Thu Jan 20 08:43:07 UTC 2005

Thanks for help.

I am so sorry for hasty previous post.

"NODEBUG=1" as "NMAKE" argument fix both problems in linkage.

"nmake NODEBUG=1 -f Makefile.msvc6 all >out1 2>out2"

Flag "/MLd" set via include <ntwin32.mak> in
H:\src\ecl-0.9e\msvc\gc\Makefile.msvc6 file
!include <ntwin32.mak>

C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\NtWin32.Mak
C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\Win32.Mak

good idea:
add "NODEBUG = 1" in ecl-0.9e\msvc\Makefile.msvc6 line 24

H:\src\ecl-0.9e-libc\msvc>diff -p Makefile.msvc6.org Makefile.msvc6
*** Makefile.msvc6.org  Thu Jan 20 19:35:15 2005
--- Makefile.msvc6      Thu Jan 20 19:35:25 2005
*************** TAR_DIR = %%CD%%\ecl-$(ECL_VERSION)
*** 21,27 ****

  # Programs used by "make":
  CC    = cl
  LIBS  = eclgc.lib eclgmp.lib user32.lib ws2_32.lib
--- 21,27 ----

  # Programs used by "make":
  CC    = cl
  LIBS  = eclgc.lib eclgmp.lib user32.lib ws2_32.lib

My second question is:
Can ECL used in MT program with POSIX threads pthreads on Solaris
and Windows threads?

>> I try to build ECL (ecl-0.9e-fix-1.tgz.gz)
>> under MSVC 7.1 (VS.NET 2003) on my Windows 2000 box today.
>> Linking failed twice on "ecl_min.exe" and "ecl.dll",
>> because there is a mixture of libc and libcd (debug)
>> libraries used inside *.obj files.

> Does it help if you add /NODEFAULTLIB to the link command of gmp.lib
> in msvc\gmp\Makefile.msvc6 (around line 567)? So it should look like:

> gmp.lib: mpn_$(MPN_TYPE).lib $(GMP_ALL_OBJS)
>         link -lib /NOLOGO /NODEFAULTLIB /OUT:$@ $(GMP_ALL_OBJS) mpn_$(MPN_TYPE).lib

> Michael.

Best regards,
 Valery                            mailto:syssik at mail.ru

More information about the ecl-devel mailing list