Hi!

I had the same problem. This seems to be an MS bug. In our case using VC++ 7.1 we compiled an application with 4 byte struct member alignment and
were unable to link it. Using the dependency walker has shown, that this symbol is differently exported in program_options.dll as expected from the linker which links to the DLL. I remember that I have written what we did to resolve the problem.

Here is my previous post:
http://groups.google.am/group/boost-list/browse_frm/thread/3ec1940f2517241f/17a0cfe15fffe357?tvc=1#17a0cfe15fffe357

We had the similar issue with boost::filesystem and 4 byte alignment as well.

With Kind Regards,
Ovanes

On Wed, Sep 17, 2008 at 5:29 PM, Sebastian Hauer <sebastian.hauer@gmail.com> wrote:
[...]
error LNK2001: unresolved external symbol "class
std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> > boost::program_options::arg"
(?arg@program_options@boost@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A)
[...]