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: Ron Sluiter <[email protected]>
To: Mark Rivers <[email protected]>
Cc: EPICS <[email protected]>
Date: Tue, 24 Jun 2008 13:25:21 -0500
Thanks to Andrew and Mark, this
Try including dbAccessDefs.h in motorUtilAux.cc and removing its local definition of pdbase. See if that fixes the problem.
fixed the problem.

Ron

Mark Rivers wrote:
Ron,

One possible source of the problem is that pdbbase should really be
defined as follows, as it is done in db_convert.h:


epicsShareExtern struct dbBase *pdbbase;


However, motorUtilAux.cpp defines it as follows:

extern "C" {
extern struct dbBase *pdbbase;
}

I would make that change and see if it fixes your problem. Looking
through shareLib.h it looks to me like this could well be the problem,
and that I am not seeing it because I am compiling and linking
staticially, i.e. without DLLs.

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: latest motor record on RTEMS? Mark Rivers
Next: Re: latest motor record on RTEMS? John M. Skinner
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 Andrew Johnson
Next: How to specify value to a DBF_ACCESS field likun
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 ·