如何找到要链接的库?或者,如何创建* -config(例如sdl-config,llvm-config)?

时间:2010-06-13 23:11:37

标签: configuration gcc linker compilation

我想编写一个程序,输出一个库列表,我应该链接到给定的源代码(或对象)文件(对于C或C ++程序)。

在* 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目录中的所有库文件以及正确链接所需的列表库。

是否已编写此类工具?编写这样的工具不是一件容易的事吗? 您如何找到应链接到哪些库?

感谢。

1 个答案:

答案 0 :(得分:0)

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

http://pkg-config.freedesktop.org/wiki/

如果您使用的是Linux,请尝试查看/ usr / lib / pkgconfig以查找可用作模型的示例.pc文件。你仍然可以在Windows上使用pkg-config,但它不是随附的。