Search code examples
c++visual-studiovisual-c++cygwin

cygwin:lib not supported in visual studio 2005


i have compiled c++ files and make it as a lib using cygwin in windows. when i try to use that lib in visual studio 2005 c++. it produces the following errors.

"Error  1   error LNK2001: unresolved external symbol ___gxx_personality_v0 mylib.lib
Error   2   error LNK2019: unresolved external symbol __Unwind_Resume referenced in function _fjfx_create_fmd_from_raw  mylib.lib   
Error   3   error LNK2019: unresolved external symbol ___chkstk referenced in function __fjjj   mylib.lib"

how to resolve it.


Solution

  • Yes, you need to build your library using the visual studio tools. The "gxx_personality_v0" is a symbol created by the g++ compiler, and can only be resolved by linking with the relevant libstdg++ library. Same for the other components.

    Unfortunately, some parts of the runtime support for one compiler doesn't match when using a different compiler.

    You could possibly get away with it if you link your Visual Studio code with the relevant GNU libraries, but I'm far from convinced.

    [And I fully expect you to explain that the reason you compiled using cygwin is that the code contains a bunch of stuff that can't be compiled with Visual Studio because it uses gnu compiler extension features...]