在链接时,使用“-Bstatic”选项静态链接库以解析外部符号引用。
示例代码:
gcc main.c libfoo.a -Bstatic -lbar -Bdynamic -lbaz -oMyProgram
在上面的示例代码中,“-Bstatic”选项指示链接器静态链接libfoo.a库,以便在编译时解析来自该库的外部符号引用。然后使用“-lbar”选项指定动态链接库libbar.so,使用“-Bdynamic”选项使链接器再次切换到动态链接模式。最后,使用“-lbaz”选项指定动态链接库libbaz.so。
这将确保将所有必需的库和符号链接到可执行文件中,以便它可以在所有系统上运行,而无需重新安装或重新构建库。