我记得看到一些命令是这样工作的:
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 是
-I/path/to/some_library/include
-L/path/to/some_library/lib/
some_forgotten_command
它是 pkgconf 或 pkg-config (这是两个不同的实现,主要做相同的事情)。
pkgconf
pkg-config
pkgconf --libs LibraryName 提供链接器标志,以及 pkgconf --cflags LibraryName 给出编译器标志。
pkgconf --libs LibraryName
pkgconf --cflags LibraryName
两者都可以使用 --libs 和 --cflags 在同一个命令中(在您的特定示例中,由于您在一个命令中将编译和链接在一起,因此应该同时使用这两个命令)。
--libs
--cflags
和 pkgconf --list-all 打印所有已安装库名称的列表。
pkgconf --list-all