We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Now my project seems only see the 1st library, but complains can not found other libraries. I've add all other libaries include path .I am use mt2523 chip. I've also add all libraries(.a file) to my project.
You're going to have to give more detail for people to be able to see
The linker will try to bind everything you give to it, success might depend on the ELF/AXF files describing a consistent chip, ABI, version, model, etc.
What might happen is you create a much larger list of dependencies, or inter-dependencies, which either require other libraries not provided or compatible with Keil, or where you've got to provide wedge or shim code to map to Keil equivalent functions to get closure.
cgha chris said:seems only see the 1st library, but complains can not found other libraries
If you if you take away that current "first" library, does it then see the "next" library?
I seem to recall the GNU/LD linker is single pass, not really spent much time thinking about Keil's
Andrew's point is that the library is typically a collection of objects, and the linker only takes what it needs to address an external dependency. If you never call a function within the second library it is going to ignore it. If it takes an object that might create additional dependencies, and those might be closed by other functions/objects in the library, or spill over into other libraries/objects. If the first object gets you to closure, the second isn't used.
What I want to do is mtk just release one lib that is built using gcc, and will not release the armcc version. And I want to use this gcc library, but encount this issue.
Yes, if I take the 1st library out from the Option->include libraries, then it see the second.
Ok, so probably want to decide if you want to add the libraries to the project, OR put them on the command line, not sure I'd do both.