On 03/10/2013 11:33, Anton Simakov wrote:
> Hi!
>
> I'm trying to use Boost.Log 2.0 in my project which is based on Open Babel.
> I'm currently compiling at Windows with Visual C++ 2010 and linkage
> fails with the following message
>
> libboost_log-vc100-mt-gd-1_54.lib(exceptions.obj) : error LNK2005:
> "public: virtual __thiscall std::basic_stringbuf<char,struct
> std::char_traits<char>,class std::allocator<char>
>  >::~basic_stringbuf<char,struct std::char_traits<char>,class
> std::allocator<char> >(void)"
> (??1?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@UAE@XZ)
> already defined in openbabel-2.lib(openbabel-2.dll)
>
> libboost_log-vc100-mt-gd-1_54.lib(exceptions.obj) : error LNK2005:
> "public: __thiscall std::basic_stringbuf<char,struct
> std::char_traits<char>,class std::allocator<char>
>  >::basic_stringbuf<char,struct std::char_traits<char>,class
> std::allocator<char> >(int)"
> (??0?$basic_stringbuf@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@H@Z)
> already defined in openbabel-2.lib(openbabel-2.dll)
>
> fatal error LNK1169: one or more multiply defined symbols found
>
> Seems like both openbabel-2.dll and libboost_log-vc100-mt-gd-1_54.lib
> exporting same symbols.
> Boost binaries are from official sourceforge.net
> <http://sourceforge.net> page and openbabel-2.dll was built by myself,
> but the same symbols are exported by openbabel-2.dll from official binaries.
>
> Does anyone knows how to fix that?

I have had this sort of problem in the past with wxWidgets rather than 
Boost but I think it was still with std::basic_stringbuf. I don't know 
how to solve it, but the following may help. Check that the DLLs are 
both built using the same compiler and are using the same runtime 
libraries. A final workaround is to set the option "Multiply Defined 
Symbol Only (/FORCE:MULTIPLE)" in Linker/General/Force File Output. This 
is said to be dangerous but has been ok when I used it. The problem is 
described in several sites on the web but for the ones I found it was 
not very clearly defined and was without a general solution.

Chris


------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60134791&iu=/4140/ostg.clktrk
_______________________________________________
OpenBabel-discuss mailing list
OpenBabel-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbabel-discuss

Reply via email to