微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

GNU 编译器:过程入口点......无法定位 - 在 g++ 升级后

如何解决GNU 编译器:过程入口点......无法定位 - 在 g++ 升级后

我在 Win PC 上使用 g++cygwin 来编译应用程序并(静态)链接第 3 方 dll使用微软编译器编译,我无法重新编译,而且总是一样的。

这在旧系统上运行良好,然后我们将其移植到新 PC

:Win 7 64、cygwin 和 g++ 版本 6.4

:Win 10 64、cygwin 和 g++ 版本 10.2

现在我遇到标准函数的运行时问题“过程入口点...无法定位”错误,例如__assert_func。

Checking with Dependencies(以前的Dependency Walker)我发现现在在cygwin1.dll 搜索这些函数在3rd 方dll 中。 在 cygwin1.dll 中搜索是正确的,因为这是提供所有这些功能的 cygwin dll。 但我想知道为什么应用程序还假设它们可以在不提供它们但也提供我期望的功能的第 3 方 dll 中找到。

这也反映在依赖关系报告中:在 cygwin1.dll 中找到函数,但在第 3 方 dll 中找不到。

我可以找到它,它只与用于构建的 g++ 版本有关,与我在哪台 PC 上运行应用程序无关。

知道可能是什么原因吗?

我尝试使用 -fabi-version 选项来使用与 gcc 6.4 一起使用的 abi-version,但这也无济于事

问候 克劳斯

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。