假设我知道我的一些C / CPP文件包含某些标题 - 除了猜测之外,是否有任何可靠的信息来说明我必须链接哪些库?
例如,如果我有类似
的内容#include "foo.h"
并想找到
libfoo_abcdef_123.so
有没有“最佳实践”如何做到这一点,在哪里可以看?
答案 0 :(得分:6)
尽管其他答案在这里说 - 不,没有。库可以(有时确实)重新定义相同的函数,唯一可以尝试解决此类冲突的是链接器,它知道有关头文件的zip。
答案 1 :(得分:1)
这不适用于所有内容,但如果您使用自己的标头(例如,在模块化程序中),则可以在标头中包含库名称。
这在Visual Studio中特别方便,您可以在库标题中#pragma comment(lib, "thismodule.lib")
,包括库的代码永远不必担心。在其他平台/编译器上,您可能会发现类似的命令。
但是,任何优秀的第三方图书馆都应该有关于包含哪些内容的说明。
答案 2 :(得分:1)
假设我知道我的一些C / CPP文件包含某些标题 - 有没有可靠的信息 我将需要哪些图书馆 链接,除了猜测?
不是真的,但您通常会在文档中找到您正在使用的函数/类的信息。