交叉編譯環境下靜態庫的製作與測試
阿新 • • 發佈:2019-01-13
1、編寫my_print.c原始檔,內容如下:
#include <stdio.h>
void cout(const char * message)
{
fprintf(stdout, "%s\n", message);
}
2、編寫my_lib.h標頭檔案,內容如下:
#ifndef __MY_LIB_H__
#define __MY_LIB_H__
void cout(const char *);
#endif
3、編寫test_static_lib.c原始檔,內容如下:
#include <stdio.h> #include "my_lib.h" int main(int argc, char *argv[]) { cout("This is a static lib test!\n"); return 0; }
4、編譯my_print.c原始檔:
arm-hisiv500-linux-gcc -c my_print.c
5、歸檔目標檔案,得到靜態庫。
arm-hisiv500-linux-ar crv libmylib.a my_print.o
6、生成ELF檔案:
arm-hisiv500-linux-gcc test_static_lib.c -L. -lmylib -o test_static_lib
7、將ELF檔案拷貝至開發板,執行