EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  <19981999  2000  2001  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  <19981999  2000  2001  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: RE: CA Server link error w/channel access control
From: [email protected] (Jeff Hill)
To: "'John A. Priller'" <[email protected]>, "[email protected]" <[email protected]>
Date: Wed, 18 Nov 1998 11:49:06 -0700
John,

This is a PC specific problem resulting when the two functions below are
not properly exported outside of the cas DLL (shareable library). You can 
patch this problem yourself by adding the keyword epicsShareFunc to the 
beginning of the following two function prototypes in base/src/cas/generic/casInternal.h. 
After making these changes you will need to rebuild/reinstall the cas directory. To do this 
type "make rebuild" in the base/src/cas directory.

class casChannelI : public tsDLNode<casChannelI>, public casRes, 
				public casEvent {
public:
	epicsShareFunc virtual casResType resourceType() const;  <=== add epicsShareFunc  to this line
	epicsShareFunc caStatus cbFunc(casEventSys &); <=== add epicsShareFunc  to this line
}

These changes will show up in the next release of EPICS base.

Jeff

On Monday, November 16, 1998 10:05 AM, John A. Priller [SMTP:[email protected]] wrote:
> Everyone;
> 
> Has anyone tried using the channel access control in the CA Server software?
> I'm using the CA Server in the WIN32 version of R3.13 beta 12 (which works
> great, btw) but when I tried to add access control by defining a descendant
> of casChannel, I received the following link errors from MS Visual C++ 5.0:
> 
> error LNK2001: unresolved external symbol "public: virtual unsigned int
> __thiscall casChannelI::cbFunc(class casEventSys &)"
> (?cbFunc@casChannelI@@UAEIAAVcasEventSys@@@Z)
> 
> error LNK2001: unresolved external symbol "public: virtual enum casResType
> __thiscall casChannelI::resourceType(void)const "
> (?resourceType@casChannelI@@UBE?AW4casResType@@XZ)
> 
> fatal error LNK1120: 2 unresolved externals
> 
> I'd be more than willing to believe this is due to something that's my
> fault, like a missing #define or #include or a compile switch, but dumping
> out the WIN32 cas.lib file with Microsoft's DUMPBIN /ALL doesn't show those
> functions (casChannelI::cbFunc, casChannelI::resourceType) in the library at
> all (though I did find the source code for them in casChannelI.cc).
> 
> Weird.  My second thought (after this being something stupid I've either
> done or forgotten to do) is that this is another instance of Microsoft's
> occasionally sloppy implementation of C++.  Anyone using the CA server that
> could offer me a clue?
> 
> JP
> 
> --
> John A. Priller            | Phone : (517) 333-6375
> MSU Cyclotron Laboratory   | Fax   : (517) 353-5967
> South Shaw Lane            | Email : [email protected]
> East Lansing, MI 48824     | Web   : http://prille.nscl.msu.edu/jp.html
> 

Navigate by Date:
Prev: EOFF Bob Dalesio
Next: EPICS base release R3.13.1 Marty Kraimer
Index: 1994  1995  1996  1997  <19981999  2000  2001  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: CA Server link error w/channel access control John A. Priller
Next: How many CA server tools per host? Guy Jennings
Index: 1994  1995  1996  1997  <19981999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Aug 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·