【问题标题】:Assembler messages: Error: thumb conditional instruction should be in IT block -- `strexeq r1,r2,[r4]'汇编器消息:错误:拇指条件指令应该在 IT 块中 -- `strexeq r1,r2,[r4]'
【发布时间】:2015-09-21 13:43:45
【问题描述】:

我试图构建 .so 文件。该文件包含 tbb、dlib 等库。当我执行我的 cpp 文件时,引发异常 [汇编程序消息:错误:拇指条件指令应该在 IT 块中 -- `strexeq r1,r2,[r4]']。

vector<tbb::atomic<bool> > face_detections_used(face_detections.size());
    if(face_detections_used[detection_ind].compare_and_swap(true, false) == false)
        {
            // Reinitialise the model
                clm_models[model].Reset();
                clm_models[model].detection_success = false;
          detection_success = CLMTracker::DetectLandmarksInVideo(grayscale_image, depth_image, face_detections[detection_ind], clm_models[model], clm_parameters[model]);

            active_models[model] = true;

            break;
            }

我认为该代码有异常。 tbb 所需的任何特定 cpp 标志。关于这个的任何想法,它对我有帮助谢谢你

【问题讨论】:

  • 谷歌搜索错误信息发现了几个类似的问题。例如。这个:bugs.launchpad.net/ubuntu/+source/qt4-x11/+bug/673085。他们说在 CXXFLAGS (cmake variane: CMAKE_CXX_FLAGS) 中添加 -mimplicit-it=thumb 应该会有所帮助。
  • @Tsyvarev 非常感谢您为我所做的工作...
  • @Tsyvarev 我的编译器说该标志无法识别。有什么想法吗?
  • @dmagree:我不是编译器功能方面的专家。不过,您可以填写另一个问题。
  • @dmagree 这个答案stackoverflow.com/a/35998110/3154588 说使用-Wa,-mimplicit-it=thumb 将选项从编译器传递给汇编器。

标签: c++ opencv cmake


【解决方案1】:

在我的 yocto 构建中的 tbb bitbake 配方中出现了同样的错误,而 bitbake compiling ,在 tbb.bb 文件中添加了 CXXFLAGS=" -Wa,-mimplicit-thumb" 对我有帮助。你也可以试试TARGET_CXXFLAGS=" -Wa,-mimplicit-thumb"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-20
    • 2015-03-16
    • 2013-06-12
    • 1970-01-01
    • 2015-05-31
    相关资源
    最近更新 更多