Boost logo

Boost :

From: Beman Dawes (bdawes_at_[hidden])
Date: 2004-11-09 11:49:05


At 06:10 AM 11/9/2004, Francis ANDRE wrote:
>Hi Developpers
>
>When using the dll version of the boost::filesystem library to build a
>user's dll library, one get the followin link error:
>
>(Note that no error is produced at link time when building a static non
dll
>user's
>library with the boost::filesystem dll library)
>
>
>SYSOUT.obj : error LNK2019:
>unresolved external symbol "private: void __thiscall
>boost::filesystem::path::iterator::increment(void)"
>(?increment_at_iterator@path_at_filesystem@boost@@AAEXXZ)
>
>referenced in function "public: static void __cdecl
>boost::iterator_core_access::increment<class
>boost::filesystem::path::iterator>(class
boost::filesystem::path::iterator
>&)"
>(??$increment_at_Viterator@path_at_filesystem@boost@@@iterator_core_access_at_boost@@
>
>SAXAAViterator_at_path@filesystem_at_1@@Z)
>
>
>Any idea how to solve this unresolved reference??

Is that the only unresolved reference? It is really weird that decrement()
and other members aren't also unresolved. There is no difference in the way
they are declared compared to increment().

The one thing that is a bit different compared to the path functions is
that iterator is a nested class. Is it possible that BOOST_FILESYSTEM_DECL
is required on the nested class declaration?

Could you please change path.hpp line 83 from:

    class iterator : public boost::iterator_facade<

to:

    class BOOST_FILESYSTEM_DECL iterator : public boost::iterator_facade<

and then let me know if that fixes the problem?

Thanks,

--Beman


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