Boost logo

Boost :

From: Alexander Arhipenko (arhipjan_at_[hidden])
Date: 2008-02-23 05:14:55


Hi, guys!
I had following problem when using boost::filesystem dynamically
linked on windows platform:

unresolved external symbol boost::filesystem::not_found_error.

(By the way, this issue was raised up on users list some time ago, but
had no resolution).
According to dumpbin utility, mentioned symbol resides in
boost_filesystem binary,
so, I guess, there is some problem with macro magics
(__declspec(dllimport/dllexport) ) in
header file (operations.hpp).

I'm building test application using Boost.Build:

Boost.Build V2 (Milestone 11)
Boost.Jam 03.1.16

and boost 1.34.1.
Compiler is MSVC 9, but problem is reproducible on MSVC 8.

The attached patch fixes the problem by defining
BOOST_FILESYSTEM_DYN_LINK in usage requirements
(in boost.filesystem's Jamfile.v2),
but I'm wondering
1. why all the other symbols are successfully imported when mentioned
macro is not defined
2. and why this macro wasn't defined in usage requirements by the
author of the library.

Could you please shed a light on this issue or correct me if I'm doing
something wrong.

Thanks.
Sasha

P.S. In attach there are minimal project that reproduces the problem
and patch that fixes the problem.





Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk