我正在使用Embarcadero RAD Studio 2010(C ++)。项目文件(.cbproj)有五个不同的标记,包含.bpis或.libs列表。我想了解一些关于链接器如何使用这些库文件列表的信息(使用或不使用运行时包构建时)。
LinkPackageImports
LinkPackageStatics
AllPackageLibs
PackageLibs
PackageImports
我想我已经理解了最后一个。它包含可以从IDE中的“项目属性”设置的运行时包列表。
这个问题的动机是我试图消除我的应用程序中不必要的依赖项。 .cbproj中的这五个标签似乎都包含各种不同的lib和bpis。我知道我不需要的一些库,以及我认为我不需要的一些库。从某些列表中删除某些库似乎没有任何效果,而从其他列表中删除其他库会导致形式为[ILINK32 Error] Fatal: Unable to open file 'FILENAME.OBJ'
的链接器错误
我正在慢慢解决所有链接器问题,但是当我在这五个列表中的一个列表中包含库名称时,确切地知道我告诉链接器要做什么将非常有用。
答案 0 :(得分:0)
Man,我希望您已经找到了解决问题的方法,但我认为您只需禁用Build With Runtime Packages,禁用Use Dynamic RTL并从Debug更改为Release build,用于您正在使用的所有项目({ {3}})。
如果你有一些你不能改变它的组件,比如一些二进制文件(dll,lib ...),如果它们之前与它们一起构建,你仍然会对这些禁用的选项有一些依赖...
我也建议您在构建之前从项目中删除所有* .obj和* .exe(除非它们是作为某些第三方模块的必需品提供的)...一些较旧的C ++ Builder版本存在一些构建问题就这样解决了。