@海思交叉編譯dlib
海思交叉編譯器:本文使用arm-hisiv300-linux-gcc arm-hisiv300-linux-g++
在ubuntu終端執行cmake-gui命令:cmake-gui
將下圖中標記0n 改為 off ,避免後面編譯示例程式出錯。
在build目錄下執行make命令後,出現第乙個錯誤
解決辦法:在dlib-19.13目錄下,開啟cmakelists.txt,新增add_compile_options(-d_glibcxx_use_c99)
『round』不是『std』的成員
解決辦法:在dlib/geometry/rectangle.h 新增下圖標記**
error: no type named 『exception_ptr』 in namespace 『std』; did you mean 『exception』?
解決辦法:找到檔案atomic_lockfree_defines.h
例如我的檔案在:/opt/hisi-linux/x86-arm/arm-hisiv300-linux/arm-hisiv300-linux-uclibcgnueabi/include/c++/4.8.3/bits/atomic_lockfree_defines.h
在atomic_lockfree_defines.h內找到**段
#define atomic_int_lock_free __gcc_atomic_int_lock_free
改為
#define atomic_int_lock_free 2
新建test檔案,將dlib-19.13/examples/dnn_face_recognition_ex.cpp複製到test檔案下。
建立檔案:cmakelists.txt
cmake_minimum_required
(version 2.8.4)
project
(dnn_face_recognition_ex)
add_compile_options
(-d_glibcxx_use_c99)
find_package
(dlib required)
include_directories($)
add_executable
(dnn_face_recognition_ex dnn_face_recognition_ex.cpp)
target_link_libraries
(dnn_face_recognition_ex $
)
終端在test目錄下執行命令:
cmake . -dcmake_cxx_compiler:filepath=arm-hisiv300-linux-g++ -dcmake_c_compiler:filepath=arm-hisiv300-linux-gcc
make
錯誤: #error "dlib_no_gui_support is defined so you can't use the gui code. turn dlib_no_gui_support off if you want to use it."
解決辦法:開啟檔案dlib/gui_core/gui_core_kernel_2.h
,注釋如下圖2行**
注釋後,需要重新編譯。
錯誤 對『std::__exception_ptr::exception_ptr::exception_ptr(std::__exception_ptr::exception_ptr const&
)』未定義的引用
開啟檔案:/usr/local/include/dlib/threads/thread_pool_extension_abstract.h
此位址是sudo make install後的位址,新增如下**:
#include
namespace std
exception_ptr::~exception_ptr(
) exception_ptr::exception_ptr(const exception_ptr& e)
:_m_exception_object(e._m_exception_object)
exception_ptr& exception_ptr::operator=
(const exception_ptr& e)
void exception_ptr::swap(exception_ptr& e)
} //__thread exception_ptr g_cur_e;
exception_ptr current_exception(
) void rethrow_exception(exception_ptr e)
}
本文是我自己編譯過程遇到問題,如有錯誤請提示! 交叉編譯boost庫for海思
2 執行boost解壓目錄下的 bootstrap.sh 此時形成bjam檔案和project config.jam 3.編輯project config.jam 僅修改using gcc這行。因為我使用的是arm hisiv100nptl linux g 所以將其改以下即可 using gcc a...
海思的3516的交叉編譯工具無法執行
最近想編譯海思的hisi3516cv500的東西,但是安裝了編譯鏈之後發現無法執行,報錯如下 bash opt hisi linux x86 arm arm himix200 linux bin arm himix200 linux gcc cannot execute binary file ex...
基於海思開發板進行OPENCV交叉編譯時的問題
之前一直在摸索,為什麼使用海思3515官方提供的編譯器在對opencv進行交叉編譯時會出現各種莫名其妙的錯誤。後來買了一塊3520d的開發板,商家為我提供了新版的sdk,編譯器版本公升級為4.4.1。當我用新版的編譯器再進行交叉編譯時,竟然一路順暢,很容易地就完成了整個編譯過程。再回過頭來,反省之前...