gpt4 book ai didi

c++ - 在 Raspberry Pi 2 上使用 TBB 编译 OpenCV

转载 作者:太空狗 更新时间:2023-10-29 21:18:30 25 4
gpt4 key购买 nike

我尝试使用 TBB 在 Raspberry Pi 2 上构建 OpenCV,我已经从 Pi 上的源代码安装了 TBB,我已经指定了到 TBB 库的路径到 cmake 配置,但我收到错误:

/home/mihai/tbb43_20150316oss/include/tbb/machine/gcc_armv7.h:31:2: error: #error compilation requires an ARMv7-a architecture.

我认为错误是因为在 OpenCV 生成文件中我必须包含 ARMv7 的标志

-DTBB_USE_GCC_BUILTINS=1 -D__TBB_64BIT_ATOMICS=0

问题是我不知道在哪里包含它。有没有人遇到过这个问题并且想分享解决方案?

最佳答案

我已经解决了 :D 。对于那些遇到这个问题的人,请按照以下步骤操作:

1.转到文件gcc_armv7.h第31行和注释行

30 #if !(__ARM_ARCH_7A__)
31 #error compilation requires an ARMv7-a architecture.
32 #endif

2.接下来在同一个文件gcc_armv7.h中到第56行替换为

56 #define __TBB_full_memory_fence() 0xffff0fa0  // __asm__ __volatile__("dmb ish": : :"memo    ry")

对于那些想要解释我是如何做到的,在第一步之后我得到以下错误:

/tmp/ccnkbkfd.s:313: Error: selected processor does not support ARM mode `dmb ish'
/tmp/ccnkbkfd.s:386: Error: selected processor does not support ARM mode `dmb ish'
/tmp/ccnkbkfd.s:533: Error: selected processor does not support ARM mode `dmb ish'
/tmp/ccnkbkfd.s:562: Error: selected processor does not support ARM mode `dmb ish'

在我用谷歌搜索并找到这个之后:

The alternative for using dmb is to call the Linux kernel __kuser_memory_barrier

the __kuser_memory_barrier helper operation is found in all ARM kernels 2.6.15 and later
and provide a way to issue a memory barrier that will work across all ARM arch.__kuser_memory_barrier
helper function found at address 0xffff0fa0

关于c++ - 在 Raspberry Pi 2 上使用 TBB 编译 OpenCV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30131032/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com