3.11 Specifying user libraries when linking

You can specify your own libraries when linking.

To specify user libraries, either:

You can use the --library=name option to specify static libraries, libname.a, or dynamic shared objects, libname.so. Dynamic searching is controlled by the --search_dynamic_libraries option. For example, the following command searches for libfoo.so before libfoo.a:

armlink --arm_linux --shared --fpic --search_dynamic_libraries --library=foo

If you do not specify a full path name to a library on the command line, the linker tries to locate the library in the directories specified by the --userlibpath option. For example, if the directory /mylib contains my_lib.a and other_lib.a, add /mylib/my_lib.a to the input file list with the command:

armlink --userlibpath /mylib my_lib.a *.o

If you add a particular member from a library this does not add the library to the list of searchable libraries used by the linker. To load a specific member and add the library to the list of searchable libraries include the library filename on its own as well as specifying library(member). For example, to load strcmp.o and place mystring.lib on the searchable library list add the following to the input file list:

mystring.lib(strcmp.o) mystring.lib

Note:

Any search paths used for the ARM standard libraries specified by either the linker command-line option --libpath or the ARMLIB or ARMCC5LIB environment variables are not searched for user libraries.
Non-ConfidentialPDF file icon PDF versionARM DUI0474M
Copyright © 2010-2016 ARM Limited or its affiliates. All rights reserved.