<分区>
假设我有两个静态构建的库。 libFoo.a 和 libBar.a.
libFoo.a 使用 libBar.a 中的函数,而 libBar.a 也恰好使用 libFoo.a 中的函数。
现在,让我们创建一个使用 libFoo 和 libBar 的程序 baz.cpp。通常,您会键入:
g++ baz.cpp -lfoo -lbar
但是,因为这两个静态库相互使用......关于如何让编译时链接器接受这种情况并将它们全部链接在一起,我没有明显的解决方案。
C++ 标准允许这样做吗?如果是这样,是否有一种非 hacky 的方法来处理这个问题?
或者首选方法是将 libBar 和 libFoo 中的所有目标文件一起编译到一个静态库中?