
On Sat, Nov 20, 2010 at 09:05:23AM -0800, Charlls Quarra wrote:
Hi,
i'm trying to get boost.context (from boost vault) to build with g++ 4.4.1 and 4.5.1 with -std=c++0x
on both compilers i'm getting this error:
In function `main': test.cpp:(.text+0x94): undefined reference to `boost::contexts::context::operator=(boost::contexts::context&&)' collect2: ld returned 1 exit status
i built the code with this command line:
g++ -std=c++0x `pkg-config --cflags boost-1.43` test.cpp -o xtest `pkg-config --libs boost-context` -lboost_context -lboost_system
when i remove -std=c++0x from the command line, the code compiles and runs fine
You should most probably build both the library and the application with the same language level. This commonly occurs on platforms where differences in build settings cause more errors, like on VC++ with the different runtimes and other compiler tunables. You're probably looking at an ODR violation, as there tends to be some rather different types resulting from building with and without 0x, particularly if conditionally defined around it. -- Lars Viklund | zao@acc.umu.se