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  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  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  <20212022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: WIN_32
From: Mark Rivers via Tech-talk <tech-talk at aps.anl.gov>
To: 'Marty Kraimer' <mrkraimer at comcast.net>
Cc: EPICS Tech-Talk <tech-talk at aps.anl.gov>
Date: Fri, 16 Apr 2021 21:44:25 +0000
It looks like it is failing in serviceMain/src

The error is unresolved symbols involving pvaClient

/home/travis/build/epics-base/exampleCPP/linkRecord/lib/linux-x86_64/liblinkRecord.a(getLinkScalarRecord.o): In function `epics::example::linkRecord::GetLinkScalarRecord::clientProcess()':
/home/travis/build/epics-base/exampleCPP/linkRecord/src/O.linux-x86_64/../getLinkScalarRecord.cpp:138: undefined reference to `epics::pvaClient::PvaClient::get(std::string const&)'

Perhaps your src/Makefile needs to have pvaClient added like this:

EPICS_BASE_PVA_CORE_LIBS = pvDatabase pvAccess pvAccessCA pvData  pvaClient Com

When Windows is building a DLL it wants to resolve all symbols, so you need to give it all required libraries.  Linux will not give an error where Windows will.

Mark


-----Original Message-----
From: Marty Kraimer <mrkraimer at comcast.net> 
Sent: Friday, April 16, 2021 1:33 PM
To: Mark Rivers <rivers at cars.uchicago.edu>
Cc: EPICS Tech-Talk <tech-talk at aps.anl.gov>
Subject: Re: WIN_32

On 4/16/21 1:18 PM, Mark Rivers wrote:
> Hi Marty,
>
> Is this an IOC application or some other type of application?
>
> If it is an IOC application then you typically don't need anything different from Linux, i.e.
>
> PROD_LIBS += $(EPICS_BASE_IOC_LIBS)

Both.
I have a pull request:
> https://github.com/epics-base/exampleCPP/pull/63

It fails on the windows builds.
It also fails on the RTEMS builds but I am trying to fix the windows builds first.

Marty

>
> Mark
>
>
>
> -----Original Message-----
> From: Tech-talk <tech-talk-bounces at aps.anl.gov> On Behalf Of Marty 
> Kraimer via Tech-talk
> Sent: Friday, April 16, 2021 12:06 PM
> To: tech talk <tech-talk at aps.anl.gov>
> Subject: WIN_32
>
> What is the best way to make applications build for windows.
> I see:
>> grep -r "WIN32 +" pvDataCPP normativeTypesCPP pvAccessCPP
>> pvDataCPP/configure/CONFIG_SITE:USR_CPPFLAGS_WIN32 += -DNOMINMAX
>> normativeTypesCPP/configure/CONFIG_SITE:USR_CPPFLAGS_WIN32 += 
>> -DNOMINMAX
>> pvAccessCPP/testApp/Makefile:PROD_SYS_LIBS_WIN32 += netapi32 ws2_32
>> pvAccessCPP/examples/Makefile:PROD_SYS_LIBS_WIN32 += netapi32 ws2_32
>> pvAccessCPP/configure/CONFIG_PVACCESS_MODULE:PROD_SYS_LIBS_WIN32 +=
>> netapi32
>> pvAccessCPP/configure/CONFIG_SITE:USR_CPPFLAGS_WIN32 += -DNOMINMAX
>> pvAccessCPP/src/ca/Makefile:LIB_SYS_LIBS_WIN32 += netapi32 ws2_32
>> pvAccessCPP/src/Makefile:LIB_SYS_LIBS_WIN32 += netapi32 ws2_32
>> pvAccessCPP/pvtoolsSrc/Makefile:PROD_SYS_LIBS_WIN32 += netapi32 
>> ws2_32
>> pvAccessCPP/testCa/Makefile:PROD_SYS_LIBS_WIN32 += netapi32 ws2_32
> Is what pvDataCPP and normativeTypesCPP are doing sufficent?
>
> Marty
>


Replies:
Re: WIN_32 Marty Kraimer via Tech-talk
References:
WIN_32 Marty Kraimer via Tech-talk
RE: WIN_32 Mark Rivers via Tech-talk
Re: WIN_32 Marty Kraimer via Tech-talk

Navigate by Date:
Prev: RE: Python Script call from Button press, module not found Manoussakis, Adamandios via Tech-talk
Next: Two versions of asyn are complied into an IOC application Hu, Yong 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  2019  2020  <20212022  2023  2024 
Navigate by Thread:
Prev: Re: WIN_32 Marty Kraimer via Tech-talk
Next: Re: WIN_32 Marty Kraimer 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  2019  2020  <20212022  2023  2024 
ANJ, 17 Apr 2021 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·