From: Joshua Peterson (petersonjm1_at_[hidden])
Date: 2008-08-25 21:24:44
On Mon, Aug 25, 2008 at 6:00 PM, Beman Dawes <bdawes_at_[hidden]> wrote:
> Let's get back to basics. Does this program compile for you?
>> #include <boost/filesystem/operations.hpp>
>> int main()
>> boost::filesystem::copy_file( L"foo", L"bar" );
>> return 0;
>> In compiles fine for me on Ubuntu 8.04.1 and g++ 4.2.1. I haven't had a
>> chance yet to build the libraries to see if it links. I'll do that later
>> tonight or tomorrow.
> Update: the above compiles, links, and runs fine for me.
Yes, it compiles, links, and runs for me as well. Getting back to basics
has isolated the problem I am having. The client code which uses copy_file
is compiled using MainWin, implements the Win32 API, and defines _WIN32,
WIN32, etc. So the Boost.Filesystem code from the headers is compiling with
BOOST_WINDOWS_API defined. However, the Boost.Filesystem library was
compiled with GCC natively (i.e. without MainWin), so it has BOOST_POSIX_API
defined. These clearly cannot work together.
Thanks for the help and suggestions, Beman, I really appreciate it. This
has been puzzling me for some time. I'm glad that we have found the
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk