Configuration 如何找到要链接到的库?或者,如何创建*-config(例如sdl-config、llvm-config)? 我想编写一个程序,输出一个库列表,我应该链接到给定的源代码(或对象)文件(对于C或C++程序)。

Configuration 如何找到要链接到的库?或者,如何创建*-config(例如sdl-config、llvm-config)? 我想编写一个程序,输出一个库列表,我应该链接到给定的源代码(或对象)文件(对于C或C++程序)。,configuration,gcc,linker,compilation,Configuration,Gcc,Linker,Compilation,在*nix中,有一些有用的工具,如sdl config和llvm config。但是,我希望我的程序也能在Windows上运行 用法: get-library-names -l /path/to/lib a.cpp b.cpp c.cpp d.obj 然后,get library names将获得从a.cpp、b.cpp、c.cpp和d.obj调用的函数名列表。并且,它将搜索/path/to/lib目录中的所有库文件,并列出正确链接所需的库 是否已经编写了这样的工具?编写这样的工具不是很简单吗

在*nix中,有一些有用的工具,如sdl config和llvm config。但是,我希望我的程序也能在Windows上运行

用法:

get-library-names -l /path/to/lib a.cpp b.cpp c.cpp d.obj
然后,
get library names
将获得从a.cpp、b.cpp、c.cpp和d.obj调用的函数名列表。并且,它将搜索
/path/to/lib
目录中的所有库文件,并列出正确链接所需的库

是否已经编写了这样的工具?编写这样的工具不是很简单吗? 如何找到应该链接到的库


谢谢。

是的,您可以创建一个pkg配置文件,该文件将允许您运行'pkg config--cflags'以获取编译器标志,或'pkg config--libs'以获取链接器库


如果您使用的是Linux,只需查看/usr/lib/pkgconfig,就可以找到一些可以用作模型的示例.pc文件。您仍然可以在Windows上使用pkg config,但这不是它附带的功能。

看起来您需要对标志进行硬编码。例如,在.pc文件中,Libs:-lfoo-lbar。。。我想知道是否可以通过遍历源代码和共享库文件来获取库名称。