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: | EPICS V4 Windows build warning messages. |
From: | "Mark S. Engbretson" <[email protected]> |
To: | <[email protected]> |
Date: | Wed, 19 Apr 2017 13:41:26 -0500 |
If one builds Epics V 4 on a windows box with Visual Studio 2013 Community, as either shared libraries or static, you get *hundreds* of warning messages that deal with <something> needing to have dll-interface to be used. i.e. warning C4251: 'epics::nt::NTEnum::URI' : class 'std::basic_string<char,std::char_traits<char>,std::allocator<char>>' needs to have dll-interface to be used by clients of class 'epics::nt::NTEnum' Does anyone know if this is actually an indication that things will most likely not work if, for example, one were to build AD2-6 with Epics V4 support? Microsoft claims that the error is thrown when one is not separating the interface from the implementation. If clients should not be able to access these items, they should be made private and #pragma warning disable C4251 added to source. If they should be accessible, code added to access them. I’m assuming the #pragma solution is a reasonable solution? |