From: Ulrich Eckhardt (doomster_at_[hidden])
Date: 2007-05-20 02:50:57


On Saturday 19 May 2007 10:41:31 Minmin Gong wrote:
> If calling convention is changed to __stdcall in vc8

You mean you changed the default calling convention? This is a recipe for
disaster, because it changes the interface of every function not explicitly
given a different calling convention. At the very least, it means you need to
recompile all of the filesystem lib with equal settings.

> link error like this: error LNK2019: unresolved external symbol "class
> boost::filesystem::file_status __stdcall
> boost::filesystem::detail::status_api(class
> std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class
> std::allocator<wchar_t> > const &,unsigned int &)" ...

There's another possibility though: Looking at operations.cpp, the wchar_t
version of that function is only compiled when BOOST_FILESYSTEM_NARROW_ONLY
is not defined. Why that would change with the default calling convention is
beyond me though.

Uli