问题描述
我在 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 (将#修改为@)