Argonne National Laboratory

Experimental Physics and
Industrial Control System

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  <20192020  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  <20192020 
<== Date ==> <== Thread ==>

Subject: Re: write a CA client by API in Eclipse
From: "Johnson, Andrew N. via Tech-talk" <tech-talk@aps.anl.gov>
To: 肖麟阁 <xiaolg@ihep.ac.cn>, "tech-talk@aps.anl.gov" <tech-talk@aps.anl.gov>
Date: Mon, 30 Sep 2019 16:18:18 +0000
Hi,

On 9/30/19 7:33 AM, 肖麟阁 via Tech-talk wrote:
I try to run it, but errors come out like following:

        /home/xlg/eclipse-workspace/testEPICS/Debug/../main.c:43: undefined reference to `ca_task_initialize'
        makefile:29: recipe for target 'testEPICS' failed
        /home/xlg/eclipse-workspace/testEPICS/Debug/../main.c:46: undefined reference to `ca_search_and_connect'
        /home/xlg/eclipse-workspace/testEPICS/Debug/../main.c:50: undefined reference to `ca_search_and_connect'
        /home/xlg/eclipse-workspace/testEPICS/Debug/../main.c:55: undefined reference to `ca_pend_io'
        /home/xlg/eclipse-workspace/testEPICS/Debug/../main.c:88: undefined reference to `ca_message'
        /home/xlg/eclipse-workspace/testEPICS/Debug/../main.c:113: undefined reference to `ca_array_get'
        /home/xlg/eclipse-workspace/testEPICS/Debug/../main.c:117: undefined reference to `ca_array_get'
        /home/xlg/eclipse-workspace/testEPICS/Debug/../main.c:122: undefined reference to `ca_pend_io'
        /home/xlg/eclipse-workspace/testEPICS/Debug/../main.c:144: undefined reference to `ca_message'
        /home/xlg/eclipse-workspace/testEPICS/Debug/../main.c:157: undefined reference to `ca_state'
        /home/xlg/eclipse-workspace/testEPICS/Debug/../main.c:165: undefined reference to `ca_state'
        /home/xlg/eclipse-workspace/testEPICS/Debug/../main.c:169: undefined reference to `ca_task_exit'
        collect2: error: ld returned 1 exit status
        make: *** [testEPICS] Error 1
        "make all" terminated with exit code 2. Build might be incomplete.        

Those error messages are from the linker, you need to tell it to link your program with the two libraries, so assuming you're using your own build script the linker needs the additional parameters '-lCa -lCom' and it might need others telling it where to find those libraries such as '-L/path/to/your/library/directory'

    by the way, someone else tell me that i just need libCa.so, libCom and some .h files to write a CA Client. is that true?
That is true. The EPICS build system provides a common framework that was designed to make building client programs easier, but you are not required to use it.

- Andrew
-- 
Complexity comes for free, Simplicity you have to work for.

Replies:
Re: Re: write a CA client by API in Eclipse 肖麟阁 via Tech-talk
References:
write a CA client by API in Eclipse 肖麟阁 via Tech-talk

Navigate by Date:
Prev: write a CA client by API in Eclipse 肖麟阁 via Tech-talk
Next: EPICS base missing header files when using INSTALL_LOCATION Abdalla Ahmad via Tech-talk
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  <20192020 
Navigate by Thread:
Prev: write a CA client by API in Eclipse 肖麟阁 via Tech-talk
Next: Re: Re: write a CA client by API in Eclipse 肖麟阁 via Tech-talk
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  <20192020 
ANJ, 01 Oct 2019 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·