1. 程式人生 > >NCNN移植ARM爬坑日誌六-動態庫編譯

NCNN移植ARM爬坑日誌六-動態庫編譯

為了移植更加方便,將ncnn封裝程.so動態連結庫

1、將ncnn-master/build/install/include中所有.h檔案以及和ncnn-master/build/install中的libncnn.a檔案複製到需要編譯的資料夾內。

2、將自己寫好的介面檔案放到此資料夾內,例如本人需要編譯成動態連結的檔案有,INCNN.cppINCNN.h Ncnn.cpp Ncnn.h

3、編譯動態連結庫

#g++ INCNN.cpp Ncnn.cpp -lncnn -fPIC -shared -olibMyncnn.so

引數說明:

-lncnn:表示新增靜態庫libncnn.a

-shared:表示動態編譯

-fPIC:表示編譯為位置獨立的程式碼,用於編譯共享庫。

編譯如果沒有報錯,即可以在當前資料夾內找到libMyncnn.so檔案

4、libMyncnn.so

呼叫可以根據自己寫的介面檔案,配合g++變成程可執行檔案使用

#g++ main.cpp -L.-lMyncnn -o main `pkg-config opencv --libs --cflags` -fopenmp