【发布时间】: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将选项从编译器传递给汇编器。