In file included from ../getputmonitor.cpp:16:
/Users/junkes/ABER_JETZT/epics-base/include/pv/pvaClient.h:1736:10: warning: 'epics::pvaClient::PvaClientMonitor::monitorConnect' hides overloaded virtual function [-Woverloaded-virtual]
void monitorConnect(
^
/Users/junkes/ABER_JETZT/epics-base/include/pv/pvaClient.h:1603:18: note: hidden overloaded virtual function 'epics::pvaClient::PvaClientMonitorRequester::monitorConnect' declared here: type mismatch at 2nd parameter ('const epics::pvaClient::PvaClientMonitorPtr &' (aka 'const shared_ptr<epics::pvaClient::PvaClientMonitor> &') vs 'const epics::pvData::MonitorPtr &' (aka 'const shared_ptr<epics::pvAccess::Monitor> &'))
virtual void monitorConnect(epics::pvData::Status const & status,
^
/Users/junkes/ABER_JETZT/epics-base/include/pv/pvaClient.h:1740:10: warning: 'epics::pvaClient::PvaClientMonitor::unlisten' hides overloaded virtual function [-Woverloaded-virtual]
void unlisten(epics::pvData::MonitorPtr const & monitor);
^
/Users/junkes/ABER_JETZT/epics-base/include/pv/pvaClient.h:1616:18: note: hidden overloaded virtual function 'epics::pvaClient::PvaClientMonitorRequester::unlisten' declared here: different number of parameters (0 vs 1)
virtual void unlisten()
^
2 warnings generated.
c++ -o myEx -L/Users/junkes/pvTest/lib/darwin-x86 -L/Users/junkes/ABER_JETZT/epics-base/lib/darwin-x86 -arch x86_64 myEx_registerRecordDeviceDriver.o getputmonitor.o -lmyExSupport -lqsrv -lpvAccessIOC -lpvAccessCA -lpvAccess -lpvData -ldbRecStd -ldbCore -lca -lCom
Undefined symbols for architecture x86_64:
"epics::pvaClient::PvaClientGet::issueConnect()", referenced from:
ClientGetPutMonitor::channelStateChange(std::__1::shared_ptr<epics::pvaClient::PvaClientChannel> const&, bool) in getputmonitor.o
"epics::pvaClient::PvaClientGet::setRequester(std::__1::shared_ptr<epics::pvaClient::PvaClientGetRequester> const&)", referenced from:
ClientGetPutMonitor::channelStateChange(std::__1::shared_ptr<epics::pvaClient::PvaClientChannel> const&, bool) in getputmonitor.o
"epics::pvaClient::PvaClientGet::get()", referenced from:
ClientGetPutMonitor::get() in getputmonitor.o
"epics::pvaClient::PvaClientGet::getData()", referenced from:
ClientGetPutMonitor::get() in getputmonitor.o
"epics::pvaClient::PvaClientPut::issueConnect()", referenced from:
ClientGetPutMonitor::channelStateChange(std::__1::shared_ptr<epics::pvaClient::PvaClientChannel> const&, bool) in getputmonitor.o
"epics::pvaClient::PvaClientPut::setRequester(std::__1::shared_ptr<epics::pvaClient::PvaClientPutRequester> const&)", referenced from:
ClientGetPutMonitor::channelStateChange(std::__1::shared_ptr<epics::pvaClient::PvaClientChannel> const&, bool) in getputmonitor.o
"epics::pvaClient::PvaClientPut::getData()", referenced from:
ClientGetPutMonitor::put(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in getputmonitor.o
ClientGetPutMonitor::getDone(epics::pvData::Status const&, std::__1::shared_ptr<epics::pvaClient::PvaClientPut> const&) in getputmonitor.o
"epics::pvaClient::PvaClientPut::issuePut()", referenced from:
ClientGetPutMonitor::put(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in getputmonitor.o
"epics::pvaClient::PvaClientChannel::issueConnect()", referenced from:
ClientGetPutMonitor::init(std::__1::shared_ptr<epics::pvaClient::PvaClient> const&) in getputmonitor.o
"epics::pvaClient::PvaClientChannel::createMonitor(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
ClientGetPutMonitor::channelStateChange(std::__1::shared_ptr<epics::pvaClient::PvaClientChannel> const&, bool) in getputmonitor.o
"epics::pvaClient::PvaClientChannel::setStateChangeRequester(std::__1::shared_ptr<epics::pvaClient::PvaClientChannelStateChangeRequester> const&)", referenced from:
ClientGetPutMonitor::init(std::__1::shared_ptr<epics::pvaClient::PvaClient> const&) in getputmonitor.o
"epics::pvaClient::PvaClientChannel::createGet(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
ClientGetPutMonitor::channelStateChange(std::__1::shared_ptr<epics::pvaClient::PvaClientChannel> const&, bool) in getputmonitor.o
"epics::pvaClient::PvaClientChannel::createPut(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
ClientGetPutMonitor::channelStateChange(std::__1::shared_ptr<epics::pvaClient::PvaClientChannel> const&, bool) in getputmonitor.o
"epics::pvaClient::PvaClientGetData::showChanged(std::__1::basic_ostream<char, std::__1::char_traits<char> >&)", referenced from:
ClientGetPutMonitor::get() in getputmonitor.o
"epics::pvaClient::PvaClientGetData::getChangedBitSet()", referenced from:
ClientGetPutMonitor::get() in getputmonitor.o
"epics::pvaClient::PvaClientMonitor::issueConnect()", referenced from:
ClientGetPutMonitor::channelStateChange(std::__1::shared_ptr<epics::pvaClient::PvaClientChannel> const&, bool) in getputmonitor.o
"epics::pvaClient::PvaClientMonitor::releaseEvent()", referenced from:
ClientGetPutMonitor::event(std::__1::shared_ptr<epics::pvaClient::PvaClientMonitor> const&) in getputmonitor.o
"epics::pvaClient::PvaClientMonitor::setRequester(std::__1::shared_ptr<epics::pvaClient::PvaClientMonitorRequester> const&)", referenced from:
ClientGetPutMonitor::channelStateChange(std::__1::shared_ptr<epics::pvaClient::PvaClientChannel> const&, bool) in getputmonitor.o
"epics::pvaClient::PvaClientMonitor::poll()", referenced from:
ClientGetPutMonitor::event(std::__1::shared_ptr<epics::pvaClient::PvaClientMonitor> const&) in getputmonitor.o
"epics::pvaClient::PvaClientMonitor::stop()", referenced from:
simple(char*) in getputmonitor.o
"epics::pvaClient::PvaClientMonitor::start()", referenced from:
simple(char*) in getputmonitor.o
ClientGetPutMonitor::monitorConnect(epics::pvData::Status const&, std::__1::shared_ptr<epics::pvaClient::PvaClientMonitor> const&, std::__1::shared_ptr<epics::pvData::Structure const> const&) in getputmonitor.o
non-virtual thunk to ClientGetPutMonitor::monitorConnect(epics::pvData::Status const&, std::__1::shared_ptr<epics::pvaClient::PvaClientMonitor> const&, std::__1::shared_ptr<epics::pvData::Structure const> const&) in getputmonitor.o
"epics::pvaClient::PvaClientMonitor::getData()", referenced from:
ClientGetPutMonitor::event(std::__1::shared_ptr<epics::pvaClient::PvaClientMonitor> const&) in getputmonitor.o
"epics::pvaClient::PvaClientPutData::getPVStructure()", referenced from:
ClientGetPutMonitor::put(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in getputmonitor.o
ClientGetPutMonitor::getDone(epics::pvData::Status const&, std::__1::shared_ptr<epics::pvaClient::PvaClientPut> const&) in getputmonitor.o
"epics::pvaClient::PvaClientMonitorData::showChanged(std::__1::basic_ostream<char, std::__1::char_traits<char> >&)", referenced from:
ClientGetPutMonitor::event(std::__1::shared_ptr<epics::pvaClient::PvaClientMonitor> const&) in getputmonitor.o
"epics::pvaClient::PvaClient::createChannel(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
ClientGetPutMonitor::init(std::__1::shared_ptr<epics::pvaClient::PvaClient> const&) in getputmonitor.o
"epics::pvaClient::PvaClient::get(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
simple(char*) in getputmonitor.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [myEx] Error 1
make[2]: *** [install.darwin-x86] Error 2
make[1]: *** [src.install] Error 2
make: *** [myExApp.install] Error 2
Hi Heinz,
I have recently tested some of the examples in
https://github.com/epics-base/exampleCPP and they are working with EPICS 7.0.2.
Cheers,
Will
________________________________
From:
[email protected] <
[email protected]> on behalf of Heinz Junkes via Tech-talk <
[email protected]>
Sent: 11 March 2019 16:41:54
To: tech-talk
Subject: I'm looking for a pvacces example to read PVStructure
I'm looking for a pva example c++ program which I can currently use (with Epics 7).
Unfortunately the examples I've found on the net don't work at all.
Above all, there seems to be a little confusion between PVAClient and pvac? (Or I don't get it)
I have a client that wants to read the PVStructure of a PV and then put new data into
NTTable vector fields (x, y, z and time_index):
humma-kavula:~ junkes$ pvlist 0xB9EC6A5C00000000C2AFA421
CRYVISIL:STM:FASTSCAN:IMAGE_CHUNK
humma-kavula:~ junkes$ pvinfo CRYVISIL:STM:FASTSCAN:IMAGE_CHUNK
CHANNEL : CRYVISIL:STM:FASTSCAN:IMAGE_CHUNK
STATE : CONNECTED
ADDRESS : 141.14.133.59:53379
epics:nt/NTTable:1.0
string[] labels
structure value
double[] x
double[] y
double[] z
int[] time_index
string descriptor
alarm_t alarm
int severity
int status
string message
time_t timeStamp
long secondsPastEpoch
int nanoseconds
int userTag
int counter
--
This e-mail and any attachments may contain confidential, copyright and or privileged material, and are for the use of the intended addressee only. If you are not the intended addressee or an authorised recipient of the addressee please notify us of receipt by returning the e-mail and do not use, copy, retain, distribute or disclose the information in or attached to the e-mail.
Any opinions expressed within this e-mail are those of the individual and not necessarily of Diamond Light Source Ltd.
Diamond Light Source Ltd. cannot guarantee that this e-mail or any attachments are free from viruses and we cannot accept liability for any damage which you may sustain as a result of software viruses which may be transmitted in or with the message.
Diamond Light Source Limited (company no. 4375679). Registered in England and Wales with its registered office at Diamond House, Harwell Science and Innovation Campus, Didcot, Oxfordshire, OX11 0DE, United Kingdom