Hi All,
If I include boost/regex.hpp – the builtin c signbit
stops being available. I am using my version of gcc 4.5.0 and my version of
boost (built and installed with defaults)
I’ve removed distro’s install of boost and gcc.
I am new to this list so apologies if I’ve missed any
need information.
TIA
----------------------------------------------------------------------
adrianc@dluadrianc:~> cat signbit.cc
#include <iostream>
#include <math.h>
#include <boost/version.hpp>
#ifdef WITH_BOOST_REGEX_ADRIAN
#include <boost/regex.hpp>
#endif
int main(int argc, char *argv[])
{
float a=12.4234;
float b=-123.4333;
#ifdef _XOPEN_SOURCE
std::cout << "_XOPEN_SOURCE="
<< _XOPEN_SOURCE << std::endl;
#endif
#ifdef _ISOC99_SOURCE
std::cout << "_ISOC99_SOURCE is
here\n";
#endif
std::cout << "Boost version="
<< BOOST_LIB_VERSION << std::endl;
std::cout << "Boost version="
<< BOOST_VERSION << std::endl;
#ifdef WITH_SIGNBIT_ADRIAN
std::cout << "signbit a="
<< signbit(a) << std::endl;
std::cout << "signbit b="
<< signbit(b) << std::endl;
#endif
return 0;
}
adrianc@dluadrianc:~> g++ -DWITH_SIGNBIT_ADRIAN
signbit.cc
adrianc@dluadrianc:~> a.out
_XOPEN_SOURCE=700
_ISOC99_SOURCE is here
Boost version=1_43
Boost version=104300
signbit a=0
signbit b=-2147483648
adrianc@dluadrianc:~> g++ -DWITH_SIGNBIT_ADRIAN
-DWITH_BOOST_REGEX_ADRIAN signbit.cc
signbit.cc: In function 'int main(int, char**)':
signbit.cc:25:42: error: 'signbit' was not declared in this
scope
adrianc@dluadrianc:~>
:~> which gcc
/usr/local/bin/gcc
:~> gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/i686-pc-linux-gnu/4.5.0/lto-wrapper
Target: i686-pc-linux-gnu
Configured with: ../gcc-4.5.0/configure
--enable-__cxa_atexit --enable-languages=c,c++ --enable-threads
--with-cpu=core2 --disable-nls --with-arch=i686 --with-mpfr=/usr/local
--with-gmp=/usr/local --with-mpc=/usr/local --with-build-time-tools=/usr/local
--enable-lto
Thread model: posix
gcc version 4.5.0 (GCC)