ZHCUAU3J January 2018 – March 2024
链接器主要通过 C7X_C_DIR 环境变量查找运行时支持库。通常, C7X_C_DIR 中的其中一个路径名为 your install directory/lib,其中包含所有预构建的库以及索引库 libc.a。链接器会搜索 C7X_C_DIR 来查找与应用程序的构建属性最为匹配的库。构建属性根据用于构建应用程序的命令行选项来间接设置。构建属性包含 CPU 版本等信息。如果明确指定了库名称(例如 -library=rts7100_le.lib),运行时支持函数会精确地查找对应的库。如果没有指定库名称,链接器会使用索引库 libc.a 来挑选合适的库。如果通过路径指定了库(例如 –library=/foo/rts7100_le.lib),则会假定对应库已经存在,而不会自动进行构建。
索引库描述了一组具有不同构建属性的库。链接器将会比较每个潜在库的构建属性与应用程序的构建属性,然后挑选最合适的库。有关索引库的详细信息,请参阅 节 10。
现在链接器已经决定了要使用的库,接下来它会检查 C7X_C_DIR 中是否存在运行时支持库。该库必须与索引库 libc.a 位于完全相同的目录中。如果该库不存在,链接器会调用 mklib 来构建它。当该库缺失时,不管是用户直接指定了该库的名称,还是允许链接器从索引库中挑选最合适的库,都会出现这种情况。
mklib 程序会构建所请求的库,并将其置于索引库所在同一目录中的 C7X_C_DIR 的“lib”目录部分中,以便用于后续编译。
要注意的事项: