我编译了c ++文件,并在windows中使用cygwin将其作为lib。当我尝试在visual studio 2005 c ++中使用该lib时。它会产生以下错误。
"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"
如何解决它。
答案 0 :(得分:1)
是的,您需要使用visual studio工具构建库。 “gxx_personality_v0”是由g ++编译器创建的符号,只能通过链接到相关的libstdg ++库来解析。其他组件也是如此。
不幸的是,当使用不同的编译器时,一个编译器的运行时支持的某些部分不匹配。
如果将Visual Studio代码与相关的GNU库链接起来,你可能会侥幸成功,但我并不相信。
[我完全希望你解释一下你使用cygwin编译的原因是代码中包含一些无法使用Visual Studio编译的东西,因为它使用了gnu编译器扩展功能......]