mpp
\ component 開發攝像頭isp影象演算法
\ ko 一些編譯好的或存放待編譯的驅動模組
\ lib **框架api庫
\ sample **應用開發示例 一般做**應用開發直接到sample中,套用檔案組織結構就可以了
\ tools 呼叫api的工具例子
sample
\common 公共原始檔,**開發一般都會包括這些
\makefile 用於設定自定義的編譯引數值,也並沒有具體的編譯規則
\ makefile 這個檔案並沒有實質編譯規則內容,主要起到選擇編譯那個資料夾的作用,如果新增了自己的資料夾,直接相應新增即可。
\makefile.param 這個是全域性的預設編譯引數,適用於同路徑下的所以工程,通常要被工程檔案下的makefile首先包含
\up_linux.mak 這個就是編譯規則檔案,也用於同路徑下的所以工程,通常由工程檔案下的makefile最後包含
規則關鍵語句如下
$(target):$(comm_obj) $(objs)
@$(cc) $(cflags) -lpthread -lm -o $(target_path)/$@ $^ -wl,--start-group $(mpi_libs) $(sensor_libs) $(audio_liba) $(rel_lib)/libsecurec.a -wl,--end-group
其中$(comm_obj)
為公共原始檔的.o
檔案(原始碼路徑./common
),$(objs)
為工程目錄中makefile指定的原始檔,也就是自己的工程**,除了這個變數和$(target)
外,其他變數值主要**於include
的makefile.param
中的**。這行規則主要是把所有的公共檔案和工程檔案編譯成應用程式,-wl,--start-group
用於指定連線的靜態庫,$(cflags)
指定編譯選項。
這些工程makefile
中都通過include
相對路徑相互聯絡,只要套用這個工程檔案組織架構新增工程編譯就不會有錯。但當開發資料在外部儲存,並不放到這個檔案結構裡,那麼把mpp這堆東西編譯成動態庫好了。
在sample路徑下新建目錄buildso
,並新建makefile填如下內容
include ../makefile.param
target := libmpp.so
target_path := .
cflags += $(comm_inc)
.phony : so clean
so: $(target)
$(target):$(comm_obj)
$(cc) -fpic -shared $(cflags) -o $(target_path)/$@ $^ -wl,--start-group $(mpi_libs) $(sensor_libs) $(audio_liba) $(rel_lib)/libsecurec.a -wl,--end-group
clean:
@rm -f $(target_path)/$(target)
@rm -f $(objs)
@rm -f $(comm_obj)
這裡還是需要通過include ../makefile.param
取獲取一些預設的引數值,當mpp完成配置並編譯成庫動態庫後,mpp對於自己的工程就是乙個獨立外部元件,只要配置好交叉編譯工具鏈,指定一下mpp/include
和common
這兩個標頭檔案路徑,就可以進行相對獨立的開發了。 把proto檔案編譯成objective c檔案
liliang的專欄 當前最新版本2.4.1 最後make install後,會生成編譯器protoc,並拷貝到 usr local bin目錄下。目前有兩種型別的實現。乙個針對protocolbuffer2.2做修改,使最後生成的.proto檔案編譯器 protoc 支援objective c型別...
把python檔案編譯成exe檔案
把python檔案編譯成exe檔案 2008年06月24日 星期二 下午 08 37 把python 編譯成exe檔案是一件很酷的事情,有很多軟體都能實現這個功能。1.py2exe鏈結 安裝比較簡單,一路下一步就行了。建立乙個例子檔案foobar.py print foobar 建立乙個安裝檔案se...
把CS檔案編譯成dll檔案
編譯方法如下 一.開啟vs.net的c命令提示 二.進入目錄 三.輸入如下命令 csc t library out f md5.dll f md5.cs 常用 如圖 如何做才能夠把cs檔案編譯成dll且自動放到虛擬目錄的bin資料夾中呢?開始 程式 microsoft visual studio.n...