編譯Qualcomm的Hexagon exampls錯誤

来源:https://www.cnblogs.com/willhua/archive/2020/02/22/12346972.html
-Advertisement-
Play Games

在下載了Qualcomm的Hexagon SDK 351版本之後,想跑裡面的examples,然後參照文檔的說,比如在 examples/common/sobel3x3_v60 目錄下麵,先執行了SDK根目錄下麵的 setup_sdk_env.cmd ,然後執行 編譯命令,結果編譯錯誤,輸出如下錯誤 ...


在下載了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
}

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 多線程技術 單線程結構進程 傳統進程是單線程結構進程 單線程結構進程的問題: 單線程結構進程在併發程式設計上存在的問題,進程切換開銷大,進程通信開銷大,限制了進程併發的粒度,降低了並行計算的效率 解決問題的思路: 把進程的兩項功能,即“獨立分配資源”與“被調度分派執行”分離開來,進程作為系統資源分配 ...
  • kali系統的root密碼忘記了,只需一分鐘時間,快速重置root密碼 ...
  • Mac自身的ruby 版本 2.x,通過ruby -v可以查看版本號。為更新到ruby的最新版本,可通過以下命令解決:brew updatebrew install ruby執行完命令後,ruby -v後其實還是原來的版本👌,這是因為環境變數沒有配置。因此,還有一個步驟就是配置環境變數。echo ... ...
  • 使用Unicode的優勢: 便於在不同語言之間進行數據交換。 讓你的exe或者dll文件支持所有的語言。 提高應用程式的執行效率。 Windows2000是使用Unicode重新開發的,核心部分都需要Unicode字元串。所以: 當參數中傳入一個ANSI字元串,那麼系統就要先把這個ANSI字元串轉換 ...
  • 一、導讀 愛奇藝的社交業務“泡泡”,擁有日活用戶6千萬+,後臺系統每日高峰期間介面QPS可以達到80K+,與視頻業務的主要區別是泡泡業務更多地引入了與用戶互動相關的數據,讀、寫的量均很大。無論是龐大的數據量,還是相對較高的QPS,使得我們在絕大多數場景下都依賴於高可靠、高性能、以及存儲量巨大的線上緩 ...
  • 一、理想與現實 Apache Flink 是一個分散式流批一體化的開源平臺。Flink 的核心是一個提供數據分發、通信以及自動容錯的流計算引擎。Flink 在流計算之上構建批處理,並且原生的支持迭代計算,記憶體管理以及程式優化。 實時計算(Alibaba Cloud Realtime Compute, ...
  • 概述 MySQL經過多年的發展已然成為最流行的資料庫,廣泛用於互聯網行業,並逐步向各個傳統行業滲透。之所以流行,一方面是其優秀的高併發事務處理的能力,另一方面也得益於MySQL豐富的生態。MySQL在處理OLTP場景下的短查詢效果很好,但對於複雜大查詢則能力有限。最直接一點就是,對於一個SQL語句, ...
  • CREATE PRoc [名字] { @參數 數據類型, @參數 數據類型 OUTPUT[輸入] } AS begin select INSERT UPDATE (SQL) end --基本語句快 --以上是語句庫 --先看看不帶參數的吧 他跟方法一樣 可以帶參數也可以不帶參數(當然我沒用過幾次不帶 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...