I am using Embarcadero RAD Studio 2010 (C++). The project file (.cbproj) has five different tags that contain lists of .bpis or .libs. I would like some information about how each of these lists of library files is used by the linker (when building with or without runtime packages).
LinkPackageImports
LinkPackageStatics
AllPackageLibs
PackageLibs
PackageImports
I think I already understand this last one. It contains the list of runtime packages that can be set from the Project Properties in the IDE.
The motivation for this question is that I am trying to eliminate unnecessary dependencies from my application. These five tags in the .cbproj each seem to contain an arbitrary assortment of different libs and bpis. Some of the libraries I know I do not need, and some of the libraries I think I do not need. Removing some libraries from some of the lists seems to have no effect, while removing other libraries from other lists causes linker errors of the form [ILINK32 Error] Fatal: Unable to open file 'FILENAME.OBJ'
I am slowly resolving all the linker issues, but it would be really helpful to know exactly what I am telling the linker to do when I include a library name in one of these five lists.