id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 13326,linking with program_options has unresolved symbols on MSVC,Mario Emmenlauer ,Vladimir Prus,"I'm developing a simple command line client application against boost::program_options. Everything works fine on Linux with gcc-4.8, gcc-5.3 and gcc-6.3, on Darwin with XCode 7 and on Windows with MinGW-w64. But on Windows with MSVC Build Tools 2017 x64 I get two unresolved symbols: {{{ LightBISClientCMDLine.cc.obj : error LNK2001: unresolved external symbol ""class std::basic_string,class std::allocator > boost::program_options::arg"" (?arg@program_options@boost@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A) LightBISClientCMDLine.cc.obj : error LNK2001: unresolved external symbol ""public: static unsigned int const boost::program_options::options_description::m_default_line_length"" (?m_default_line_length@options_description@program_options@boost@@2IB) }}} I checked program_options.dll and I am under the impression that those two symbols are defined there. I get exact matches for {{{?arg@program_options@boost@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A}}} and {{{?m_default_line_length@options_description@program_options@boost@@2IB}}}. Also all other symbols from program_options are resolved correctly. Here is the details build log with a verbose linker message: http://data.biodataanalysis.de/tmp/boost_program_options_linker_error_emmenlau.txt I am explictily setting preprocessor defines for debug, and I set to code to build for C++14. Is that possibly related?",Bugs,new,To Be Determined,program_options,Boost 1.65.0,Problem,,,