Hi,
I noticed that epicsUInt64 is not defined on my 64-bit system. In epicsTypes.h I see:
#if __STDC_VERSION__ >= 199901L
typedef int8_t epicsInt8;
typedef uint8_t epicsUInt8;
typedef int16_t epicsInt16;
typedef uint16_t epicsUInt16;
typedef epicsUInt16 epicsEnum16;
typedef int32_t epicsInt32;
typedef uint32_t epicsUInt32;
typedef int64_t epicsInt64;
typedef uint64_t epicsUInt64;
#else
typedef char epicsInt8;
typedef unsigned char epicsUInt8;
typedef short epicsInt16;
typedef unsigned short epicsUInt16;
typedef epicsUInt16 epicsEnum16;
typedef int epicsInt32;
typedef unsigned int epicsUInt32;
#endif
So I tried setting -D__STDC_VERSION__=199901L in:
configure/os/CONFIG.Common.linuxCommon
But I suspect that's the wrong way to do it, because base failed to compile:
/usr/bin/g++ -c -D_POSIX_C_SOURCE=199506L -D_POSIX_THREADS -D_XOPEN_SOURCE=500 -D__STDC_VERSION__=199901L -D_X86_64_ -DUNIX -D_BSD_SOURCE -Dlinux -D_REENTRANT -g -Wall -m64 -fPIC -MMD -I. -I../O.Common -I. -I.. -I../../../include/os/Linux -I../../../include ../cac.cpp
In file included from ../comBuf.h:34,
from ../cac.h:44,
from ../cac.cpp:39:
../../../include/osiWireFormat.h: In function ‘void WireSet(const T&, epicsUInt8*) [with T = char]’:
../comBuf.h:237: instantiated from ‘unsigned int comBuf::push(const T*, unsigned int) [with T = char]’
../comQueSend.h:123: instantiated from ‘void comQueSend::push(const T*, unsigned int) [with T = char]’
../comQueSend.h:206: instantiated from here
../../../include/osiWireFormat.h:208: error: ‘tmp’ has incomplete type
But I'm sure many people are using C99. Any ideas?
Cheers,
Matt
ps.
[mkp@bl99-dassrv1 base]$ rpm -q libstdc++
libstdc++-4.4.7-3.el6.x86_64
[mkp@bl99-dassrv1 base]$ g++ -v
Using built-in specs.
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC)
Data Acquisition and Control Engineer
Spallation Neutron Source
Oak Ridge National Lab
- Replies:
- Re: -D__STDC_VERSION__=199901L matthieu bec
- Re: -D__STDC_VERSION__=199901L Johnson, Andrew N.
- Navigate by Date:
- Prev:
Re: areaDetector 1.9.1 "dyld: Symbol not found" on Darwin Andrew Johnson
- Next:
Re: -D__STDC_VERSION__=199901L matthieu bec
- 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:
RE: areaDetector 1.9.1 "dyld: Symbol not found" on Darwin Mark Rivers
- Next:
Re: -D__STDC_VERSION__=199901L matthieu bec
- 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
|