Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ARM32找不到setjmp 和 __intrinsic_setjmp符号 #26

Closed
MouriNaruto opened this issue Jan 13, 2022 · 2 comments
Closed

ARM32找不到setjmp 和 __intrinsic_setjmp符号 #26

MouriNaruto opened this issue Jan 13, 2022 · 2 comments
Labels
类型:问题(Bug) Something isn't working 处置:完成(Done) 影响范围:低 这个问题不会造成真正的体验问题,可以暂缓解决。

Comments

@MouriNaruto
Copy link
Member

复现环境

           ###################################################################################################
           #                                                                                                 #
           #                 *         *      * *             *        * * * * *  *                          #
           #                  *       *     *                 *            *      *                          #
           #                   *     *     *       * * * * *  *            *      *                          #
           #                    *   *       *                 *            *      *                          #
           #                      *           * *             * * * *      *      * * * *                    #
           #                                                                                                 #
           ###################################################################################################
           
           VC-LTL Path      : C:\Users\mouri\.nuget\packages\vc-ltl\5.0.4-beta1\build\native\
           VC Tools Version : 14.30.30705
           WindowsTargetPlatformMinVersion : 6.2.9200.0
           Platform         : ARM

受影响范围

至少包含 VC-LTL 的 msvcrt 模式的 ARM32 目标的 Debug 和 Release 配置(虽然只测试了静态链接运行库版本,但是动态链接运行库版本也建议进行检查)

毛利

@mingkuang-Chuyu mingkuang-Chuyu added 处置:正在开发(Developing) 类型:问题(Bug) Something isn't working 影响范围:低 这个问题不会造成真正的体验问题,可以暂缓解决。 labels Jan 13, 2022
@mingkuang-Chuyu
Copy link
Collaborator

mingkuang-Chuyu commented Jan 13, 2022

ARM似乎不能处理环形weak alias

  • libcmt.lib 中存在 setjmp --> __intrinsic_setjmp
  • vcruntime.lib 中存在 __intrinsic_setjmp --> setjmp

libcmt.lib默认情况下早于vcruntime,因此它找不到?这是我的推测原因。

临时解决方案:抑制libcmt.lib,然后添加 vcruntime.lib、libcmt.lib。这样可以使 vcruntime早于 libcmt

因为只影响arm,所以影响范围比较低

@mingkuang-Chuyu mingkuang-Chuyu changed the title 在 ARM32 目标下缺少 setjmp 和 __intrinsic_setjmp 符号 ARM32找不到setjmp 和 __intrinsic_setjmp符号 Jan 15, 2022
@mingkuang-Chuyu mingkuang-Chuyu added 处置:等待发布(Publishing) 问题已经解决,等待新版本发布。 and removed 处置:正在开发(Developing) labels Jan 15, 2022
@mingkuang-Chuyu
Copy link
Collaborator

@mingkuang-Chuyu mingkuang-Chuyu added 处置:完成(Done) and removed 处置:等待发布(Publishing) 问题已经解决,等待新版本发布。 labels Jan 17, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
类型:问题(Bug) Something isn't working 处置:完成(Done) 影响范围:低 这个问题不会造成真正的体验问题,可以暂缓解决。
Projects
None yet
Development

No branches or pull requests

2 participants