Caleb Epstein wrote:
On Wed, 05 Jan 2005 11:04:47 +0000, Chris Coleman <cqc@cs.nott.ac.uk> wrote:
The result below is repeated many many times about various files:
/opt/sfw/gcc-3.2/bin/gcc -DHAVE_CONFIG_H -I. -I. -I.. -D_REENTRANT -c -o zz_broker.o `test -f zz_broker.cpp || echo './'`zz_broker.cpp In file included from /opt/sfw/gcc-3.2/include/c++/3.2/utility:66, from /staff/cqc/include/boost/config/select_stdlib_config.hpp:20, from /staff/cqc/include/boost/config.hpp:40, from /staff/cqc/include/boost/smart_ptr.hpp:14, from zz_broker.h:28, from zz_broker.cpp:24: /opt/sfw/gcc-3.2/include/c++/3.2/bits/stl_relops.h:91: template with C linkage
Do you perhaps have extern "C" block still open before you include <boost/smart_ptr.hpp>? I get identical errors compiling the following test program:
extern "C" { #include <boost/shared_ptr.hpp> }
I have only one extern "C" {} block in the whole code. Its job is to create a wrapper that allows a member function to be used as a pointer to the pthread_create() function. I have checked that it is closed properly. eg: extern "C" { void *ThreadStartup(void *); } The top of the file looks like: #ifndef ZZ_BROKER_H #define ZZ_BROKER_H #ifdef HAVE_CONFIG_H #include <config.h> #endif #include <iostream> #include <pthread.h> #include <boost/smart_ptr.hpp> ... ... The code compiles fine under gcc-linux (gentoo, mandrake), mingw, cygwin, its just Solaris thats causing problems. I'm not sure if this is due to it being the non-standard install of gcc or not, or whether it is a problem with the way I build boost etc. Cheers Chris This message has been scanned but we cannot guarantee that it and any attachments are free from viruses or other damaging content: you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation.