1994 1995 1996 1997 1998 1999 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 1998 1999 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: | Adding new record to EPICS 7 IOC with pvDatabase |
From: | Joao Paulo Martins via Tech-talk <tech-talk at aps.anl.gov> |
To: | "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov> |
Date: | Mon, 27 Apr 2020 14:36:32 +0000 |
Hello Tech-Talk, I’m trying to compile an IOC that has a single PV created using pvDatabase, pvData and pvAccess facilities. I’m using the “database” example in exampleCPP and also “NDPluginPVA.cpp” from ADCore as the models on how to do this task.
Basically I have an
an EPICS shell function that will has the following code: PVDatabasePtr master = PVDatabase::getMaster(); string recordName = “my_record_name”; NTScalarBuilderPtr ntScalarBuilder = NTScalar::createBuilder(); PVStructurePtr pvStructure = ntScalarBuilder-> value(pvInt)-> addAlarm()-> addTimeStamp()-> createPVStructure(); PVRecordPtr pvRecord = PVRecord::create(recordName,pvStructure); bool result = master->addRecord(pvRecord); The above code is include in the source of the support library built together with the IOC. The Makefile looks like this: mySupport_LIBS += qsrv nt pvDatabase mySupport_LIBS += $(EPICS_BASE_PVA_CORE_LIBS) mySupport_LIBS += $(EPICS_BASE_IOC_LIBS) I’ve also included the same libs for the IOC rules: myIOC_LIBS += mySupport myIOC_LIBS += qsrv nt pvDatabase myIOC_LIBS += $(EPICS_BASE_PVA_CORE_LIBS) myIOC_DBD += PVAServerRegister.dbd myIOC_DBD += qsrv.dbd However, when I compile the module, the linking process shows that there are two undefined references: mySupport.so: undefined reference to `epics::pvDatabase::PVDatabase::addRecord(std::shared_ptr<epics::pvDatabase::PVRecord> const&)' mySupport.so: undefined reference to `epics::pvDatabase::PVRecord::create(std::string const&, std::shared_ptr<epics::pvData::PVStructure> const&)' I would appreciate any help to overcome these basics steps. Thanks in advance! ______________________ Joao Paulo Martins Control Systems Engineer European Spallation Source ERIC |