Gcc 静态库中来自共享库的未定义引用
例如,我有3个不同的实例:Gcc 静态库中来自共享库的未定义引用,gcc,linker,Gcc,Linker,例如,我有3个不同的实例: 具有未定义引用“get_object”和定义的共享库 “x” 定义为“获取对象”、“y”的静态库 具有未定义引用“x”和“y”的二进制文件对象文件 当我尝试编译并链接所有这些东西时,链接器可以解析所有这些符号,对吗 我担心的重点是符号“获取对象”。 链接器能否在共享库和静态库之间解析此类引用?静态库只是对象文件(其成员)的聚合,可能带有生成的索引 在Linux上,如果您将一个对象文件(3)链接到一个静态库(2)libee.a和一个共享库(1)libyz.so,并且在时
链接器能否在共享库和静态库之间解析此类引用?静态库只是对象文件(其成员)的聚合,可能带有生成的索引 在Linux上,如果您将一个对象文件(3)链接到一个静态库(2)libee.a和一个共享库(1)
libyz.so
,并且在时间上传递-rdynamic
(即gcc-rdynamic foo.o libee.a libyz.so-o myprog
或gcc-rdynamic-foo.o-lee-lyz-o myprog
)然后将在动态链接时解析get\u对象
名称(在ld linux.so
)
有关详细信息,请参见wikipage和Drepper的论文:。还可以阅读Levine的书:&手册页。3。是一个对象文件,而不是二进制可执行文件