
I get a compile error in boost/filesystem/operations.hpp when building an application that also uses the date_time library (using current CVS files). The problem is that date_time includes boost/operator.hpp which defines the template boost::equivalent. The name collides with boost::filesystem::equivalent. Reordering the include files (filesystem before date_time) fixes the problem for me but since boost/operators.hpp is used in a lot of libraries it might not always be that easy.

On Fri, 10 Sep 2004 07:32:30 +0000 (UTC), Martin wrote
I get a compile error in boost/filesystem/operations.hpp when building an application that also uses the date_time library (using current CVS files).
The problem is that date_time includes boost/operator.hpp which defines the template boost::equivalent. The name collides with boost::filesystem::equivalent.
There isn't really a collision here -- they are in different namespaces. Or are you doing a using namespace boost; using namespace boost::filesystem in your code?
Reordering the include files (filesystem before date_time) fixes the problem for me but since boost/operators.hpp is used in a lot of libraries it might not always be that easy.
I did it both ways with no problem, but then I didn't have any code referencing the filesystem functions. You might need to post the error a bit more detail (compiler, platform) for us to really get to the problem... Jeff
participants (2)
-
Jeff Garland
-
Martin