EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024  Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: CALLBACK clash
From: "Johnson, Andrew N. via Core-talk" <[email protected]>
To: Michael Davidsaver <[email protected]>
Cc: EPICS core-talk <[email protected]>
Date: Thu, 5 Sep 2019 09:26:21 +0000
The callback.h header contains this:

> /*
>  * WINDOWS also has a "CALLBACK" type def
>  */
> #ifdef _WIN32
> #       ifdef CALLBACK
> #               undef CALLBACK
> #       endif /*CALLBACK*/
> #endif /*_WIN32*/

I think that was set up so that as long as you include the clashing windows header first (and don’t need to use their CALLBACK facilities) you should be able to include callback.h afterwards and it will hide the Windows definition.

HTH, no promises though…

- Andrew


> On Sep 5, 2019, at 4:11 AM, Michael Davidsaver via Core-talk <[email protected]> wrote:
> 
> I could use some help with a CI build failure on windows.
> I think the issue is header ordering, though rather than the
> usual dllimport/export, it is a conflict with CALLBACK.
> 
> I can't recall having to resolve this before, and the build output
> isn't very helpful.  I don't see a reference to the line
> in pdbsingle.cpp through which dbghelp.h is included.
> So I don't know where to start moving things around.
> 
> https://github.com/epics-base/pva2pva/blob/master/pdbApp/pdbsingle.cpp
> 
> https://jenkins.aps.anl.gov/job/3.15-pva2pva-win64s/228/consoleFull
> 
>> cl -EHsc -GR            -DUSE_TYPED_RSET -I../../common -I../../p2pApp -DFINAL_LOCATION="\"C:/jenkins/win64-2/workspace/3.15-pva2pva-win64\"" -DNOMINMAX     -nologo -FC -D__STDC__=0 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE   -Ox -Oy-   -W3 -w44355 -w44344 -w44251        -MT  -TP  -I. -I../O.Common -I. -I. -I.. -I../../include/compiler/msvc -I../../include/os/WIN32 -I../../include   -IC:/Jenkins/win64-2/workspace/3.15-pvAccess-win64/include   -IC:/Jenkins/win64-2/workspace/3.15-pvData-win64/include -IC:/epics/base-3.15.6/include/compiler/msvc -IC:/epics/base-3.15.6/include/os/WIN32 -IC:/epics/base-3.15.6/include        -c ../pdbsingle.cpp
>> pdbsingle.cpp
>> c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\dbghelp.h(109): error C2143: syntax error: missing ')' before '*'
>> c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\dbghelp.h(109): error C2143: syntax error: missing ';' before '*'
>> c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\dbghelp.h(109): error C2371: 'CALLBACK': redefinition; different basic types
>> c:\epics\base-3.15.6\include\callback.h(47): note: see declaration of 'CALLBACK'
>> c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\dbghelp.h(109): error C2059: syntax error: ')'
>> c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\dbghelp.h(113): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
> 
> 
> I know that this isn't the only issue.  There are some dllimport/export
> issues as well.  I have a process for sorting through these though.
> 
> https://ci.appveyor.com/project/mdavidsaver/epics-base/builds/27112632/job/ohx3f240g1vq3b1r


Replies:
Re: CALLBACK clash Michael Davidsaver via Core-talk
References:
CALLBACK clash Michael Davidsaver via Core-talk

Navigate by Date:
Prev: Re: [Merge] ~dirk.zimoch/epics-base:iocLogClientFixes into epics-base:7.0 Dirk Zimoch via Core-talk
Next: Build failed in Jenkins: epics-example-vx68 #409 APS Jenkins via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: CALLBACK clash Michael Davidsaver via Core-talk
Next: Re: CALLBACK clash Michael Davidsaver via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024 
ANJ, 05 Sep 2019 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·