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