EPICS Home

Experimental Physics and Industrial Control System


 
1994  1995  1996  1997  1998  1999  <20002001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  <20002001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Build static libraries on WinNT
From: Vladimir Sirotenko <[email protected]>
To: [email protected]
Cc: Kay Kasemir <[email protected]>, Jeff Hill <[email protected]>
Date: Mon, 08 May 2000 13:42:33 -0500
Hi,

I am having problems with linking my server application with static EPICS
libraries (like xxxObj.lib from
the default build) on NT.
It's a mistery to me:
when I build make from cas\example and asking
make host STATIC_BUILD=YES
I got

cl  /nologo /D__STDC__=0 /Ox  /W3
   /MT    -I. -I..  -I../../../../../include
-I../../../../../include/os/WIN32      -c /Tp  ../exChannel.cc
exChannel.cc
make[3]: Entering directory
`D:/epics/R3.13.2.DLL/base/src/cas/example/simple/O.
WIN32'
link -nologo /WARN:3 /incremental:no /opt:ref /release
ion:3.13      -out:e
xcas.exe main.obj exServer.obj exPV.obj exVectorPV.obj exScalarPV.obj
exAsyncPV.
obj exChannel.obj    ../../../../../lib/WIN32/casObj.lib
../../../../../lib/WIN
32/caObj.lib  ../../../../../lib/WIN32/gddObj.lib
../../../../../lib/WIN32/ComO
bj.lib   ws2_32.lib advapi32.lib user32.lib
MSVCRT.lib(MSVCRT.dll) : error LNK2005: _fprintf already defined in
LIBCMT.lib(f
printf.obj)
MSVCRT.lib(MSVCRT.dll) : error LNK2005: _printf already defined in
LIBCMT.lib(pr
intf.obj)
MSVCRT.lib(MSVCRT.dll) : error LNK2005: _strstr already defined in
LIBCMT.lib(st

and so on ...........

It looks like producing a base build with /MD compiler option (which uses
MSVCRT.LIB) and trying to
build application with /MT compiler option (LIBCMT.LIB)

So I decided to go step by step and build base EPICS from scratch on Windows
NT.
Using explicitly make command

make host SHARED_LIBRARIES=NO

but did not get through, I received:

cl  /nologo /D__STDC__=0 /Ox  /W3



/MD -DEPICS_DLL_NO  -I. -I..  -I../../../include -I../../../include/os/WIN32
      -c   ../sdr2device.c
sdr2device.c
cl  /nologo /D__STDC__=0 /Ox  /W3



/MD -DEPICS_DLL_NO  -I. -I..  -I../../../include -I../../../include/os/WIN32
      -c   ../sdr2recordtype.c
sdr2recordtype.c
../sdr2recordtype.c(207) : warning C4018: '<' : signed/unsigned mismatch
../sdr2recordtype.c(224) : warning C4018: '<' : signed/unsigned mismatch
../sdr2recordtype.c(122) : warning C4101: 'precDes' : unreferenced local
variable
../sdr2recordtype.c(139) : warning C4101: 'valuestring' : unreferenced local
variable
../sdr2recordtype.c(123) : warning C4101: 'pchoiceRec' : unreferenced local
variable
make[3]: *** No rule to make target `../../../lib/WIN32/Com.lib', needed by
`sf2db.exe'.  Stop.
make[3]: Leaving directory `D:/epics/R3.13.2.N/base/src/cvtDctsdr/O.WIN32'
make[2]: *** [WIN32] Error 2
make[2]: Leaving directory `D:/epics/R3.13.2.N/base/src/cvtDctsdr'
make[1]: *** [cvtDctsdr.host] Error 2
make[1]: Leaving directory `D:/epics/R3.13.2.N/base/src'
make: *** [src.host] Error 2

Can you advise me how to handle this situation? Did someone build static
libraries on NT?

Also, I am little bit confused about the switches: even in case of static
build I still have /MD (multithreaded DLL),
but we are not building DLL's. Why it is here? And also, what is the meaning
of __STDC__ flag?

Thanks,

Vladimir



Navigate by Date:
Prev: Re: Tcl/Tk and JAVA Channel Access Extention Lifang Zheng
Next: Power PC processor Robert Willson
Index: 1994  1995  1996  1997  1998  1999  <20002001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: CA and arrays Marty Kraimer
Next: Re: Build static libraries on WinNT Vladimir Sirotenko
Index: 1994  1995  1996  1997  1998  1999  <20002001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024