I am currently trying to build Poco (Foundation and Net) on Linux (Ubuntu 12.04). I am using a newer version of gcc (4.7.2) that is located in /opt. I copied the build/config/Linux, changed the gcc and g++ paths and then added '-std=c++11' to CXXFLAGS. I then build with the following commands:
./configure --config=Ubuntu --prefix=$(pwd)/package --omit=Data,XML,Util --no-tests --no-samples
make -j 22
I then get the following error:
** Compiling src/RefCountedObject.cpp (debug, shared)
/opt/gcc-4.7.2/bin/g++ -Iinclude -I/home/user/poco-1.4.5/CppUnit/include -I/home/user/poco-1.4.5/Foundation/include -I/home/user/poco-1.4.5/Util/include -I/home/user/poco-1.4.5/XML/include -I/home/user/poco-1.4.5/Net/include -std=c++11 -Wall -Wno-sign-compare -DPOCO_BUILD_HOST=hostname -D_XOPEN_SOURCE=500 -D_REENTRANT -D_THREAD_SAFE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -DPOCO_HAVE_FD_EPOLL -g -D_DEBUG -fPIC -c src/RefCountedObject.cpp -o /home/user/poco-1.4.5/Foundation/obj/Linux/x86_64/debug_shared/RefCountedObject.o
src/NumberParser.cpp: In static member function ‘static bool Poco::NumberParser::tryParse64(const string&, Poco::Int64&)’:
src/NumberParser.cpp:127:42: error: unable to find string literal operator ‘operator"" I64_FMT’
src/NumberParser.cpp: In static member function ‘static bool Poco::NumberParser::tryParseUnsigned64(const string&, Poco::UInt64&)’:
src/NumberParser.cpp:144:42: error: unable to find string literal operator ‘operator"" I64_FMT’
src/NumberParser.cpp: In static member function ‘static bool Poco::NumberParser::tryParseHex64(const string&, Poco::UInt64&)’:
src/NumberParser.cpp:161:42: error: unable to find string literal operator ‘operator"" I64_FMT’
When I build with the built in compiler 4.6.3 it compiles cleanly.
Any ideas?
Thanks
Brian





