[filesystem]1.32/vc7.1: unresolved reference when building a user dll

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@iterator@path@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@Viterator@path@filesystem@boost@@@iterator_core_access@boost@@ SAXAAViterator@path@filesystem@1@@Z) Any idea how to solve this unresolved reference?? The code involved in this build is: class __declspec(dllexport) SYSOUT : public OSDDIR { void makedir(const DATASET::VOLUME& volume, const std::string& file); }; void SYSOUT::makedir(const VOLUME& volume, const std::string& file) { path rel(file); path vol(volume); for (path::iterator i = rel.begin(); i != rel.end(); i++) { path dir = vol / *i; if (!boost::filesystem::exists(dir)) { create_directory(dir); } vol = vol / *i; } } Regards Francis ANDRE

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
At 06:10 AM 11/9/2004, Francis ANDRE wrote: 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@iterator@path@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@Viterator@path@filesystem@boost@@@iterator_core_access@boost@@
SAXAAViterator@path@filesystem@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
participants (2)
-
Beman Dawes
-
Francis ANDRE