gcc auto link 静态库需要的共享库

gcc auto link shared libraries needed by static libraries

我已经安装了 Nana 库,并且我从他们的网站上了解到该库需要一些共享库才能工作。所以在 linking (gcc) 期间我需要将所有 links (-lXft, -l...)。 有解决 Nana 需要的自动 link 共享库的解决方案吗?

我正在使用 ubuntu 18.04,我读到可以用 Makefile 做到这一点,但我不明白如何..我想使用 Premake 来组织我的项目,这样我就可以对 Premake 说它需要包含 Nana 库,然后 Premake "smartly" 找到所有共享库..

当我使用 Premake 并link编译 Nana 库(静态)时,编译器给了我很多错误...
所有的错误都说:

undefined reference to: X...

所以我需要包含 Nana 需要的所有共享库,但是如何呢?

gcc 不知道库间依赖性。为此,您需要一个构建系统(它将使用 gcc 作为编译器)。

现在,Nana 库 uses the CMake build system. Thus a good solution to the problem should be to get the authors of Nana to properly export 库的 CMake 目标,并分发一个 .cmake 文件,如果您也使用 CMake 构建,则可以导入该文件。

或者 - 也许这样的 CMake 文件已经存在于某处(虽然我没能快速找到它)。

我会在 Nana forums 中询问这个问题。