EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

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

Subject: RE: Visual C++ link errors
From: "Mark Rivers" <[email protected]>
To: "Ron Sluiter" <[email protected]>, "EPICS" <[email protected]>
Date: Mon, 23 Jun 2008 17:02:39 -0500
Ron,

When I run the "dumpbin" utility that comes with Visual Studio on
dbIoc.lib I get the following:

$ dumpbin /all dbIoc.lib | grep pdbbase
   1D9462 _pdbbase
       16 _pdbbase

So that symbol does appear to be in dbIoc.lib on my system.

Mark


-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Mark Rivers
Sent: Monday, June 23, 2008 4:51 PM
To: Ron Sluiter; EPICS
Subject: RE: Visual C++ link errors

Ron,

I build statically on Windows, rather than dynamically, so that I get a
single .exe file that can be run on other PCs without a build
environment and a zillion DLLs.  In that configuration I have no trouble
linking motor.dll.

I am puzzled as to how you can run "nm" on a Windows .lib file.  When I
try to do that under Cygwin I get the following:

$ nm -A dbIoc.lib | grep pdbbase
nm: templateInstances.obj: File format not recognized
nm: dbContextReadNotifyCache.obj: File format not recognized
nm: dbPutNotifyBlocker.obj: File format not recognized
nm: dbSubscriptionIO.obj: File format not recognized
nm: dbChannelIO.obj: File format not recognized
nm: dbContext.obj: File format not recognized
nm: cvtBpt.obj: File format not recognized
nm: initHooks.obj: File format not recognized
nm: dbCaTest.obj: File format not recognized
nm: dbCa.obj: File format not recognized
nm: callback.obj: File format not recognized
nm: recGbl.obj: File format not recognized
nm: db_test.obj: File format not recognized
nm: db_access.obj: File format not recognized
nm: dbTest.obj: File format not recognized
nm: dbEvent.obj: File format not recognized
nm: dbScan.obj: File format not recognized
nm: dbNotify.obj: File format not recognized
nm: dbFastLinkConv.obj: File format not recognized
nm: dbConvert.obj: File format not recognized
nm: dbBkpt.obj: File format not recognized
nm: dbAccess.obj: File format not recognized
nm: dbLock.obj: File format not recognized

which is what I think I would expect.  Can nm really parse a Windows
object file?

I have used VC 7.1 and 8.0 on EPICS 3.14.8.2.  I have not used the older
6.0 and 7.0.  I seem to recall that one needs at least Visual Studio
.NET 2003 (VC 7.1) to compile base now?

Mark


-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Ron Sluiter
Sent: Monday, June 23, 2008 4:34 PM
To: EPICS
Subject: Visual C++ link errors

Anybody got a clue as to why this doesn't link.
Specs: Visual Studio 6.0 and 7.0, base-3.14.8.2, motorR6-2-2

link /nologo /subsystem:windows /dll /incremental:no /opt:ref /release
/implib:motor.lib /out:motor.dll      motorRecord.obj motordevCom.obj
motordrvCom.obj paramLib.obj motorUtil.obj motorUtilAux.obj
c:/epics/base-3.14.8.2/lib/win32-x86/recIoc.lib
c:/epics/base-3.14.8.2/lib/win32-x86/softDevIoc.lib
c:/epics/base-3.14.8.2/lib/win32-x86/iocsh.lib
c:/epics/base-3.14.8.2/lib/win32-x86/miscIoc.lib
c:/epics/base-3.14.8.2/lib/win32-x86/rsrvIoc.lib
c:/epics/base-3.14.8.2/lib/win32-x86/dbtoolsIoc.lib
c:/epics/base-3.14.8.2/lib/win32-x86/asIoc.lib
c:/epics/base-3.14.8.2/lib/win32-x86/dbIoc.lib
c:/epics/base-3.14.8.2/lib/win32-x86/registryIoc.lib
c:/epics/base-3.14.8.2/lib/win32-x86/dbStaticIoc.lib
c:/epics/base-3.14.8.2/lib/win32-x86/ca.lib
c:/epics/base-3.14.8.2/lib/win32-x86/Com.lib
   Creating library motor.lib and object motor.exp
motorUtilAux.obj : error LNK2019: unresolved external symbol _pdbbase
referenced in function "char * * __cdecl getMotorList(void)"
(?getMotorList@@YAPAPADXZ)


Apparently, pdbbase is not in dbIoc; "nm -A dbIoc.lib | grep pdbbase"
yields no results.

Thanks in advance,
Ron



References:
RE: Visual C++ link errors Mark Rivers

Navigate by Date:
Prev: RE: Visual C++ link errors Mark Rivers
Next: Re: Visual C++ link errors Andrew Johnson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  <20082009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: Visual C++ link errors Mark Rivers
Next: Re: Visual C++ link errors Andrew Johnson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  <20082009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 02 Sep 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·