【发布时间】:2010-07-29 19:37:25
【问题描述】:
假设我知道我的一些 C/CPP 文件包含某些标题 - 除了猜测之外,是否有任何可靠的信息可以针对我必须链接的库?
例如,如果我有类似的东西
#include "foo.h"
想找
libfoo_abcdef_123.so
是否有任何“最佳实践”如何做到这一点,在哪里可以查看?
【问题讨论】:
标签: c++ c header include linker
假设我知道我的一些 C/CPP 文件包含某些标题 - 除了猜测之外,是否有任何可靠的信息可以针对我必须链接的库?
例如,如果我有类似的东西
#include "foo.h"
想找
libfoo_abcdef_123.so
是否有任何“最佳实践”如何做到这一点,在哪里可以查看?
【问题讨论】:
标签: c++ c header include linker
尽管这里的其他答案说什么 - 不,没有。库可以(有时会)重新定义相同的函数,唯一可以尝试解决此类冲突的是链接器,它知道 zip 关于头文件。
【讨论】:
这并不适用于所有情况,但如果您使用自己的头文件(例如在模块化程序中),您可以在头文件中包含库名称。
这在 Visual Studio 中特别方便,您可以在库头中 #pragma comment(lib, "thismodule.lib") 并且包括库在内的代码永远不必担心。在其他平台/编译器上,您可能会发现类似的命令。
不过,任何好的第 3 方库都应该有关于包含哪些内容的说明。
【讨论】:
假设我知道我的一些 C/CPP 文件包含某些标题 - 有没有可靠的信息 我将不得不针对哪些图书馆 链接,除了猜测?
并非如此,但您通常会在您正在使用的函数/类的文档中找到此类信息。
【讨论】: