Hi Alan,
On 10/28/2015 09:22 AM, [email protected] wrote:
> 1) Is pvCommonCPP required when compiling against V4 modules? The V4
> documentation has
>
> "In addition for C++ there is the utility module pvCommonCPP. This
> contains boost, needed in particular for shared_pointers, and a
> microbenchmark framework. If you don't intend to use the latter then
> you may not need pvCommonCPP, depending on your compilers support for
> shared_pointers."
>
> which suggests I wouldn't need it? However, other V4 modules have
> been released against this version of the pvCommonCPP module and so
> the reference exists if I include any V4 modules.
It is possible to build the EPICS 4.5.0 release (available for download
but not yet announced here) without the pvCommonCPP 4.1.0 module if your
OS has boost installed, but I think you would have problems with earlier
versions when building pvAccessCPP because of that microbench library. I
suggest that you edit your pvCommonCPP/Makefile and comment out the lines
DIRS += boostApp
and
DIRS += testApp
then run 'make distclean; make' in the pvCommonCPP directory. This will
install just the microbench headers, so the system Boost will be used.
You will also have to rebuild the later V4 modules.
> 2) Should the other V4 modules have been released against this
> pvCommonCPP module in my case, or could they have been released
> without the reference as I have shared pointers available anyway?
As I said above, prior to the EPICS 4.5.0 release the pvAccessCPP module
needed the microbench headers and library.
> 3) If pvCommonCPP is required is there a way to specify which version
> of boost it can be compiled against?
The version of Boost shouldn't matter, we included a copy of Boost in
pvCommonCPP so users of OSs that don't come with it (Windows, OS-X,
RTEMS, VxWorks) wouldn't have to work out how to install Boost for
themselves. Unfortunately doing that has the effect you found when
someone links with code built using a different Boost version.
> 4) If using pvCommonCPP along with it's version of boost, does the
> whole set of boost libraries get built and installed?
No, the pvCommonCPP/boostApp source only installs the header files that
are needed; it doesn't build any Boost libraries since the V4 code only
uses the headers, not the libraries.
HTH,
- Andrew
--
Light thinks it travels faster than anything but it is wrong.
No matter how fast light travels, it finds the darkness has
always got there first, and is waiting for it.
-- Terry Pratchett, Reaper Man
- References:
- Using V4 pvCommonCPP module with external boost library alan.greer
- Navigate by Date:
- Prev:
Re: Subject: RE: To read single element from waveform record Andrew Johnson
- Next:
RE: Using V4 pvCommonCPP module with external boost library david.hickin
- 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
- Navigate by Thread:
- Prev:
Using V4 pvCommonCPP module with external boost library alan.greer
- Next:
RE: Using V4 pvCommonCPP module with external boost library david.hickin
- 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
|