- N +

makefile鏈接靜態(tài)庫,makefile 設(shè)置環(huán)境變量

makefilela怎么指定

現(xiàn)有l(wèi)ibmad交叉編譯后安裝于:/home/andy/share/libmad_install目錄現(xiàn)在應(yīng)用程序miniplayer位于:/home/andy/share/mini_player目錄mini_player中的makefile里,怎么指定libmad庫和mad.h頭文件的路徑呢?1指定頭文件用-I/home/andy/share/mini_player指定庫文件:-L后面是具體的目錄。-L/home/andy/share/libmad_installmakefile如下,先編譯完,拷到arm板上運(yùn)行時提示:/flac_app:errorwhileloadingsharedlibraries:librt.so.1:cannotopensharedobjectfile:Nosuchfileordirectory這些lib我已經(jīng)拷到板上的/lib里了,怎么會找不到##MakefilefortheCAMERAApplication.##以下是指定編譯器路徑CC=/opt/armv6/codesourcery/bin/arm-none-linux-gnueabi-gcc#以下是指定編譯需要的頭文件CFLAGS=-g-Wall-O0-I/home/andy/share/alsalib/include-I/home/andy/share/libmad_install/include#以下是源文件SRCS=main.cminiplayer_decode.cminiplayer_play.c#以下是指定需要的庫文件LIBS=-L/home/andy/share/libmad_install/lib-lmad-L/home/andy/share/alsalib/lib-lasound#以下是指定目標(biāo)文件所有當(dāng).c文件變成.o文件OBJS=$(SRCS:.c=.o)#以下是生成可執(zhí)行文件EXECUTABLE=flac_app#makeall執(zhí)行生成可執(zhí)行文件#1編譯器2編譯選項(xiàng)3輸出4生成的可執(zhí)行文件5需要的源文件6需要當(dāng)庫文件all:$(CC)$(CFLAGS)-o$(EXECUTABLE)$(SRCS)$(LIBS)#makeclean刪除所有的.o文件和生成的可以執(zhí)行文件clean:rm-f$(OBJS)flac_appmakefile中的指定頭文件,源文件可以使用VPATH變量也可以使用vpath后者可以分類指定頭文件源文件的搜索路徑記住這樣指定的路徑僅僅是makefile本身查找頭文件源文件的路徑在執(zhí)行makefile時,還要指定gcc/g++搜索頭文件庫文件的搜索路徑-L//指定庫文件搜索路徑-ltest//指定使用的動態(tài)庫/靜態(tài)庫-I//指定搜索頭文件的路徑

請問android方向都有哪些細(xì)分領(lǐng)域

謝邀!

Android方向的話,細(xì)分的領(lǐng)域

1、Android高級UI

如果想在這方向進(jìn)行進(jìn)階的話,一個高級UI需要達(dá)到什么水平呢,就是UI給你任何一個效果,你都能用代碼把他高質(zhì)量的實(shí)現(xiàn)出來,在性能優(yōu)化方面也需要下點(diǎn)功夫,做出來的效果又流暢又不費(fèi)電才是一個Android高級UI改干的事,需要具備的儲備知識有哪些呢?

1、需要熟悉WebView交互,熟悉WebView的使用和原理,js與Android代碼交互,多進(jìn)程的WebView實(shí)踐,熟悉WebView與Native的通信框架和原理

2、MeterialDesignApp的設(shè)計(jì),NestScrollView的原理,自定義自己的Tablayout

3、ViewGroup,View的繪制原理,繪制流程,MeasureSpec和LayoutParams的使用和原理

4、UI基礎(chǔ)的掌握,Android的坐標(biāo)系和角度和顏色等

5、自定義View事件分發(fā)機(jī)制,多點(diǎn)觸控,滑動沖突,手勢

6、Canvas畫布圖層,畫幾何圖形,Path貝塞爾曲線,文字的繪制

7、屬性動畫,視圖動畫

8、ViewPager,RecycleView還有各種布局的原理

9、性能優(yōu)化,布局檢測與優(yōu)化,內(nèi)存優(yōu)化,耗電優(yōu)化,屏幕適配,OOM的產(chǎn)生及解決辦法,ANR的解決

2、AndroidNDK方向

NDK:(NativeDevelopmentKit),原生開發(fā)工具包是一組可以讓您在Android應(yīng)用中利用C和c++代碼的工具,可用以從您自己的源代碼構(gòu)建,或者利用現(xiàn)有的預(yù)構(gòu)建庫.

使用場景:

NDK本身對許多類型的Android應(yīng)用沒什么價值,因?yàn)樗豢杀苊獾脑黾娱_發(fā)過程復(fù)雜性,所以通常不值得使用.如果需要執(zhí)行以下操作,或許有用:

從設(shè)備獲取卓越性能以用于計(jì)算密集型應(yīng)用,例如游戲或者物理模擬.重復(fù)使用您自己或者其他開發(fā)者的C或c++庫.在平臺之間移植應(yīng)用.

從事AndroidNDK開發(fā)需要掌握的知識

1、C與C++

2、JNI開發(fā)

3、Native開發(fā)工具,交叉編譯移植,Cmake,MakeFile,靜態(tài)庫動態(tài)庫

4、Linux編程

NDK下邊還有細(xì)分領(lǐng)域音視頻開發(fā):

1、多媒體系統(tǒng),手機(jī)攝像頭的開發(fā),音頻采集和播放

2、FFmpeg音視頻編解碼,I幀P幀B幀的解碼原理,音視頻同步,H264視頻編碼,F(xiàn)aac音頻編碼,NativeWindow繪制,

3、視頻的視覺處理,美顏濾鏡,視頻變速,抖音特效

3、流媒體協(xié)議。RTMPWebRTc

圖像處理:

1、圖像預(yù)處理,灰度化,二值化,高斯模糊,形態(tài)學(xué)操作:腐蝕,膨脹開閉操作,輪廓查找,人臉檢測,身份證識別,車盤號識別

物聯(lián)網(wǎng)開發(fā)方向:

智能家居串口開發(fā),WIFI模塊,藍(lán)牙,MODBUS協(xié)議之類的

3、Android架構(gòu)師

架構(gòu)師所需的知識就更多了

1、Java基礎(chǔ)要足夠牛逼,并發(fā)編程,JVM原理,內(nèi)存分析,反射和類加載機(jī)制,高效IO,字節(jié)碼插樁技術(shù),理解AndroidDavilkART,

2、高級UI和FrameWork內(nèi)核,Binder機(jī)制,Handler機(jī)制,DalvikVM進(jìn)程系統(tǒng),AMS,WMS,Activity啟動流程,Activity棧管理

3、數(shù)據(jù)結(jié)構(gòu),設(shè)計(jì)模式,設(shè)計(jì)原則,算法

4、性能優(yōu)化

5、開發(fā)效率優(yōu)化,Gradle自動化構(gòu)建

6、各種開源框架原理

7、深入理解MVC,MVP、MVVM

8、還要學(xué)習(xí)關(guān)于跨平臺的東西,F(xiàn)lutter,微信小程序,Hybrid開發(fā)

返回列表
上一篇:
下一篇: