我记得看到过一些像这样工作的命令:
g++ main.cpp `some_forgotten_command --some_forgotten_options some_library`
当命令运行时,它将用
-I/path/to/some_library/include
和 -L/path/to/some_library/lib/
替换 `` 括起来的部分(或类似的东西,我不太记得了)。但我不记得some_forgotten_command
是什么。
它是
pkgconf
或 pkg-config
(这是两种不同的实现,但基本上做同样的事情)。
pkgconf --libs LibraryName
给出链接器标志,pkgconf --cflags LibraryName
给出编译器标志。
您可以在同一命令中同时使用
--libs
和 --cflags
(在您的具体示例中,由于您在单个命令中进行编译和链接,因此您应该使用两者)。
并且
pkgconf --list-all
打印所有已安装库名称的列表。