0

我已经编译了 c++ 文件,并在 windows 中使用 cygwin 将其作为库。当我尝试在 Visual Studio 2005 C++ 中使用该库时。它会产生以下错误。

"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"

如何解决它。

4

1 回答 1

1

是的,您需要使用 Visual Studio 工具构建您的库。“gxx_personality_v0”是g++编译器创建的符号,只能通过链接相关的libstdg++库来解析。其他组件也一样。

不幸的是,当使用不同的编译器时,对一个编译器的运行时支持的某些部分不匹配。

如果您将您的 Visual Studio 代码与相关的 GNU 库链接起来,您可能会侥幸逃脱,但我并不相信。

[而且我完全希望您解释您使用 cygwin 编译的原因是代码包含一堆无法用 Visual Studio 编译的东西,因为它使用了 gnu 编译器扩展功能......]

于 2013-01-28T14:11:46.623 回答