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 2025 | 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 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | RE: SteamDevice 2.8.x build on Windows issue |
From: | Mark Rivers via Tech-talk <tech-talk at aps.anl.gov> |
To: | '吴煊' <wux at ihep.ac.cn> |
Cc: | "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov> |
Date: | Sun, 19 Jul 2020 19:51:03 +0000 |
I just built stream 2.8.14 successfully with both Visual Studio 2015 and Visual Studio 2017. I don’t have 2019 installed so I could not test that, but I would be surprised if it failed. My environment: OS:Windows 10 x64 base:7.0.4 asyn:4-40
MSVC:2015, 2017 Community
GNU make:4.2.1 Perl64:5.24.3 SCNx8 is defined in inttypes.h for Visual Studio. This is where it is found in all of the inttypes.h files in C:\Program Files (x86)\Windows Kits. ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── [2020-07-19 14:46.55] /cygdrive/c/Program Files (x86)/Windows Kits [rivers.Camaro]
➤ find . -name inttypes.h -exec grep -H SCNx8 {} \; ./10/Include/10.0.10150.0/ucrt/inttypes.h:#define SCNx8 "hhx" ./10/Include/10.0.10150.0/ucrt/inttypes.h:#define SCNxLEAST8 SCNx8 ./10/Include/10.0.10150.0/ucrt/inttypes.h:#define SCNxFAST8 SCNx8 ./10/Include/10.0.10240.0/ucrt/inttypes.h:#define SCNx8 "hhx" ./10/Include/10.0.10240.0/ucrt/inttypes.h:#define SCNxLEAST8 SCNx8 ./10/Include/10.0.10240.0/ucrt/inttypes.h:#define SCNxFAST8 SCNx8 ./10/Include/10.0.16299.0/ucrt/inttypes.h:#define SCNx8 "hhx" ./10/Include/10.0.16299.0/ucrt/inttypes.h:#define SCNxLEAST8 SCNx8 ./10/Include/10.0.16299.0/ucrt/inttypes.h:#define SCNxFAST8 SCNx8 ./10/Include/10.0.17763.0/ucrt/inttypes.h:#define SCNx8 "hhx" ./10/Include/10.0.17763.0/ucrt/inttypes.h:#define SCNxLEAST8 SCNx8 ./10/Include/10.0.17763.0/ucrt/inttypes.h:#define SCNxFAST8 SCNx8
I also found that git needed to be installed on Windows to build 2.8.14. For other modules with base 7.0.4 it was sufficient to make “fake” git.bat that just contained: @echo GSECARS-Build However, stream actually checks the syntax of the returned string, and that trick fails. Mark From: Tech-talk <tech-talk-bounces at aps.anl.gov>
On Behalf Of ?? via Tech-talk Hi all, I find that the SteamDevice(from 2.8 to 2.8.14) can not be built on Win7 x64. The error info is :../ChecksumConverter.cc:777:51: error: expected ')' before 'SCNx8'. However the version of 2.7.14 can be built successfully. I've checked the file ChecksumConverter.cc,
there is some difference between them like following: 2.8.x: if (sscanf(input(cursor+2*i), "%2" SCNx8, &inchar) != 1) 2.7.14: if (sscanf(input(cursor+2*i), "%2X", &inchar) != 1) The software environment I'm using: OS:Win7 x64 base:3.15.8 asyn:4-38 MSVC:2019 community GNU make:4.2.1 Strawberry:5.30.1 PS:SteamDevice 2.8.14 is dependency with git, the other versions are not
Cheers, Xuan |