编译Qualcomm的Hexagon exampls错误
在下载了Qualcomm的Hexagon SDK 351版本之后,想跑里面的examples,然后参照文档的说,比如在examples/common/sobel3x3_v60目录下面,先执行了SDK根目录下面的setup_sdk_env.cmd,然后执行make tree V=hexagon_Debug_dynamic_toolv82_v65
编译命令,结果编译错误,输出如下错误log,
Target: hexagon
Thread model: posix
QuIC LLVM Hexagon Clang version 8.3.02 (based on LLVM 7.0.0)
InstalledDir: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin
"F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin\\hexagon-link.exe" --hash-style=sysv -march=hexagon -mcpu=hexagonv60 -G0 -o hexagon_Release_dynamic_toolv72_v60/atomic_q F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/crt0_standalone.o F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/crt0.o F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/init.o -LF:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0 -LF:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60 -LF:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib --start-group --whole-archive -lc -lgcc -lc++ -lc++abi -lc_eh F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/target/hexagon/lib/v60/G0/libhexagon.a --no-whole-archive --end-group --dynamic-linker= -E --force-dynamic --start-group hexagon_Release_dynamic_toolv72_v60/atomic_q.o hexagon_Release_dynamic_toolv72_v60/atomic.a --end-group --start-group -lstandalone -lc -lgcc --end-group F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/fini.o
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x0): undefined reference to `pthread_mutex_lock'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x50): undefined reference to `pthread_mutex_unlock'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0xf0): undefined reference to `pthread_mutex_lock'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x4): undefined reference to `clock_gettime'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0xe8): undefined reference to `clock_gettime'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x324): undefined reference to `pthread_getspecific'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x4): undefined reference to `pthread_cond_destroy'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x18): undefined reference to `pthread_cond_signal'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x2c): undefined reference to `pthread_cond_broadcast'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x4c): undefined reference to `pthread_cond_wait'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x140): undefined reference to `pthread_cond_timedwait'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x4a8): undefined reference to `pthread_getspecific'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x1e0): undefined reference to `pthread_mutex_trylock'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x1f4): undefined reference to `pthread_mutex_lock'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x210): undefined reference to `pthread_mutex_unlock'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x190): undefined reference to `pthread_getspecific'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x1ac): undefined reference to `pthread_setspecific'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x1b8): undefined reference to `pthread_getspecific'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x4): undefined reference to `pthread_mutex_destroy'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x14): undefined reference to `pthread_mutex_lock'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x34): undefined reference to `pthread_mutex_trylock'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x4c): undefined reference to `pthread_mutex_unlock'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x6c): undefined reference to `pthread_mutexattr_init'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x7c): undefined reference to `pthread_mutexattr_settype'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x88): undefined reference to `pthread_mutex_init'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x9c): undefined reference to `pthread_mutexattr_destroy'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0xc0): undefined reference to `pthread_mutexattr_destroy'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0xd4): undefined reference to `pthread_mutex_destroy'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0xec): undefined reference to `pthread_mutex_destroy'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x100): undefined reference to `pthread_mutex_lock'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x120): undefined reference to `pthread_mutex_unlock'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x134): undefined reference to `pthread_mutex_trylock'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x160): undefined reference to `pthread_mutex_lock'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x16c): undefined reference to `pthread_mutex_unlock'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x178): undefined reference to `pthread_mutex_destroy'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x1bc): undefined reference to `pthread_mutex_lock'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x200): undefined reference to `pthread_mutex_unlock'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x20): undefined reference to `pthread_join'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x54): undefined reference to `pthread_detach'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x220): undefined reference to `pthread_mutex_trylock'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x258): undefined reference to `pthread_mutex_unlock'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x280): undefined reference to `pthread_mutex_lock'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x294): undefined reference to `pthread_mutex_unlock'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x2cc): undefined reference to `pthread_mutex_lock'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x2d8): undefined reference to `pthread_mutex_unlock'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x2e4): undefined reference to `pthread_mutex_destroy'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x328): undefined reference to `pthread_self'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x340): undefined reference to `pthread_mutex_lock'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x39c): undefined reference to `pthread_mutex_unlock'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x3d0): undefined reference to `pthread_mutex_unlock'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x134): undefined reference to `nanosleep'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x3ec): undefined reference to `pthread_self'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x3f4): undefined reference to `pthread_mutex_trylock'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x438): undefined reference to `pthread_mutex_unlock'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x468): undefined reference to `pthread_mutex_lock'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x488): undefined reference to `pthread_mutex_unlock'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++abi.a(.text+0x8): undefined reference to `pthread_once'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++abi.a(.text+0x20): undefined reference to `pthread_getspecific'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x490): undefined reference to `pthread_mutex_unlock'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x4d0): undefined reference to `pthread_mutex_lock'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x198): undefined reference to `pthread_key_create'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++abi.a(.text+0x48): undefined reference to `pthread_setspecific'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++abi.a(.text+0x88): undefined reference to `pthread_once'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++abi.a(.text+0x14): undefined reference to `pthread_mutex_lock'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x4f0): undefined reference to `pthread_cond_wait'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x510): undefined reference to `pthread_mutex_unlock'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++abi.a(.text+0xac): undefined reference to `pthread_getspecific'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++abi.a(.text+0x58): undefined reference to `pthread_cond_wait'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++abi.a(.text+0x90): undefined reference to `pthread_mutex_unlock'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x51c): undefined reference to `pthread_mutex_unlock'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x530): undefined reference to `pthread_mutex_lock'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x540): undefined reference to `pthread_mutex_unlock'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x54c): undefined reference to `pthread_cond_broadcast'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x564): undefined reference to `pthread_mutex_lock'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x574): undefined reference to `pthread_mutex_unlock'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++.a(.text+0x580): undefined reference to `pthread_cond_broadcast'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++abi.a(.text+0xbc): undefined reference to `pthread_key_create'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++abi.a(.text+0xe8): undefined reference to `pthread_setspecific'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++abi.a(.text+0xc8): undefined reference to `pthread_mutex_lock'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++abi.a(.text+0xe8): undefined reference to `pthread_mutex_unlock'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++abi.a(.text+0x28): undefined reference to `pthread_mutex_lock'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++abi.a(.text+0xf8): undefined reference to `pthread_mutex_unlock'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++abi.a(.text+0x180): undefined reference to `pthread_mutex_lock'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++abi.a(.text+0x23c): undefined reference to `pthread_mutex_unlock'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++abi.a(.text+0xf8): undefined reference to `pthread_cond_broadcast'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++abi.a(.text+0x130): undefined reference to `pthread_mutex_lock'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++abi.a(.text+0x150): undefined reference to `pthread_mutex_unlock'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++abi.a(.text+0x160): undefined reference to `pthread_cond_broadcast'Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++abi.a(.text+0x58): undefined reference to `pthread_setspecific'
Error: F:/Qualcomm/Hexagon_SDK/3.4.3/tools/HEXAGON_Tools/8.3.02/Tools/bin/../target/hexagon/lib/v60/G0/libc++abi.a(.text+0xd8): undefined reference to `pthread_key_create'
Fatal: Linking had errors.
hexagon-clang.exe: error: hexagon-link command failed with exit code 1 (use -v to see invocation)
make[1]: *** [hexagon_Release_dynamic_toolv72_v60/atomic_q] Error 1
粗一看,显然是缺少了对libpthread.so
的依赖,第一反应就是想着看能不能添加对这个库的依赖。后面又看了一下编译命令,输入make tree V=hexagon
,看到提示支持的variants,发现有不同的toolv
,部分如下
hexagon_Debug_toolv72_v60
hexagon_Debug_toolv81_v60
hexagon_Debug_toolv81_v62
hexagon_Debug_toolv81_v65
hexagon_Debug_toolv82_v60
hexagon_Debug_toolv82_v62
hexagon_Debug_toolv82_v65
hexagon_Debug_toolv82_v66
hexagon_Debug_toolv83_v60
hexagon_Debug_toolv83_v62
hexagon_Debug_toolv83_v65
hexagon_Debug_toolv83_v66
然后就想到本SDK中的tools为83版本,于是把编译命令改为make tree V=hexagon_Debug_toolv83_v60
,果然,顺利编译完成。然后又试着改为了make tree V=hexagon_Debug_toolv83_v66
,也是正确的。所以,出现上述的错误的关键就是在于tools的版本不对,如果这个版本不对,比如我的编译命令中表明需要使用82版本,而本SDK中又只有83版本,然后就找不到对应的tools,所以就会出现这样的问题。
VSCode配置
c_cpp_properties.json文件设置实例
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**",
"F:\\Qualcomm\\Hexagon_SDK\\3.5.1\\tools\\HEXAGON_Tools\\8.3.07\\Tools\\target\\hexagon\\include\\**",
"F:\\Qualcomm\\Hexagon_SDK\\3.5.1\\tools\\HEXAGON_Tools\\8.3.07\\Tools\\include\\**",
"F:\\Qualcomm\\Hexagon_SDK\\3.5.1\\incs\\**",
"F:\\Qualcomm\\Hexagon_SDK\\3.5.1\\tools\\android-ndk-r19c\\sysroot\\usr\\include\\**",
"F:\\Qualcomm\\Hexagon_SDK\\3.5.1\\libs\\fastcv\\fastcv\\hexagon_Release_toolv83_v66\\**",
"F:\\Qualcomm\\Hexagon_SDK\\3.5.1\\libs\\fastcv\\dspCV\\inc\\**",
"F:\\Qualcomm\\Hexagon_SDK\\3.5.1\\libs\\fastcv\\dspCV\\hexagon_Release_dynamic_toolv83_v66\\**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE",
"__hexagon__",
"__HVX_ARCH__=66",
"__HVX_LENGTH__=128",
"__HVX__",
"__HVXDBL__"
],
"windowsSdkVersion": "10.0.17763.0",
"compilerPath": "F:\\Qualcomm\\Hexagon_SDK\\3.5.1\\tools\\HEXAGON_Tools\\8.3.07\\Tools\\bin\\hexagon-clang.exe",
"cStandard": "c11",
"cppStandard": "c++11",
"intelliSenseMode": "clang-x64"
}
],
"version": 4
}
/************************* Stay hungry, Stay foolish. @willhua ************************/