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
<2019>
2020
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
<2019>
2020
2021
2022
2023
2024
|