Boost logo

Boost :

From: Francis ANDRE (francis.andre_at_[hidden])
Date: 2004-11-09 06:10:38


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??

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


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