This article will take an easy example to illustrate how to generate a static library and how to use the generated static library in AndeSight.
Section A: How to generate a static library
Step1: Open AndeSight. Click "File" --> "New" --> "C Project", "Project Type" choose "Andes Static Library" --> "Empty Project", select toolchain and key in project name "StaticLib". As:
Attachment:
pic1.png [ 53.12 KiB | Viewed 7831 times ]
Step2: "StaticLib" is shown in Project Exploer. Right click on "StaticLib", select "New" --> "Source File", Key in the source file name "lib.c".As:
Attachment:
pic2.png [ 113.76 KiB | Viewed 7831 times ]
Attachment:
pic3.png [ 45.31 KiB | Viewed 7831 times ]
Step3: Write the follow program code in lib.c:
int add(int x,int y)
{
return x + y;
}
Attachment:
pic4.png [ 53.44 KiB | Viewed 7831 times ]
Step4: Build the "StaticLib", the output is in the "Archives" folder. As:
Attachment:
pic5.png [ 35.13 KiB | Viewed 7831 times ]
Section B: How to use a static library in a Project
It's an example of Hello World Project to use the library "libStaticLib.a".
Step1: New a hello world project, as:
Attachment:
pic6.png [ 46.71 KiB | Viewed 7831 times ]
Step2: Copy the library file "libStaticLib.a" to "HelloWorld" Project, as:
Attachment:
pic7.png [ 56.39 KiB | Viewed 7831 times ]
Step3: Right click on "HelloWorld", select "New" --> "Header File", key in name "lib.h", and write the source coce in lib.h. As:
Attachment:
pic8.png [ 120.2 KiB | Viewed 7831 times ]
Attachment:
pic9.png [ 75.98 KiB | Viewed 7831 times ]
Attachment:
pic10.png [ 95.25 KiB | Viewed 7831 times ]
Step3: open file main.c, input the follow program:
#include <stdio.h>
#include <stdlib.h>
#include "lib.h"
int main(void) {
int x, y;
x = 6;
y = 5;
printf("add : %d\n", add(x, y));
return 0;
}
Attachment:
pic11.png [ 110.04 KiB | Viewed 7831 times ]
Step4: This step is critical, we should do the setting to classifty the library path. Right click on "HelloWorld", select "Proproties", on Proproties Tab, click "C/C++ Build" --> "Settings" --> "Andes C Linker" --> "Libraries", put "StaticLib" in "Library"(not the name "libStatlicLib.a") and put "${workspace_loc:/${ProjName}}" in "Library search Path". As:
Attachment:
pic12.png [ 285.27 KiB | Viewed 7824 times ]
Step5: Build & Run the "HelloWorld" Project, we can see the program output is like our expects.
Attachment:
pic13.png [ 34.27 KiB | Viewed 7831 times ]