使用板子的交叉編譯工具鏈,自己做Makefile來編譯一個二進制文件,adb push到板子上運行。
會出現No such file or directory問題。
明明該文件是存在的,為什麼會出現這個問題呢?
文件是存在,但是該文件所需要的一些庫文件,是不存在的。這個時候就需要靜態鏈接。
在Makefile中增加一行
LDFLAGS += --static
在編譯可執行文件的命令中,比如
26 LDFLAGS += --static
27 $(EXEC): $(LIB) main.c
28 $(CC) $(CFLAGS) $(LDFLAGS) -o $@ main.c -L. $(LIB)
即可解決。
更多Android相關信息見Android 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=11