libx.a 只有一个函数 x() 什么都不做。
liby.a 有两个函数,y() 什么都不做,yx() 调用 libx.a 的 x()。
然后,我有一个 main.c,在函数 main() 中我调用 liby.a 的 y()。当我做链接工作时,我必须添加 libx.a,否则 gcc 将给出错误提示:未定义的对 'x' 的引用。但我只是使用与 libx.a 无关的 y()。
在我的情况下,无论如何让 gcc 忽略 libx.a 吗?或者换句话说,gcc 只能在真正需要 libx.a 时才需要 libx.a 吗?
libpthread.a 和 libmysqlclient.a 可以做到。我有一个使用 libpthread 和 libmysqlclient 的 libm.a。我写了一个main.c,它只调用libm.a中的一个空函数,gcc在链接时不会请求libpthread.a和libmysqlclient.a。libpthread/libmysqlclient 和我的 liby.a 有什么区别??