【问题标题】:Is there any way to deduce link flags from headers?有没有办法从标题中推断出链接标志?
【发布时间】:2010-07-29 19:37:25
【问题描述】:

假设我知道我的一些 C/CPP 文件包含某些标题 - 除了猜测之外,是否有任何可靠的信息可以针对我必须链接的库?

例如,如果我有类似的东西

#include "foo.h"

想找

libfoo_abcdef_123.so

是否有任何“最佳实践”如何做到这一点,在哪里可以查看?

【问题讨论】:

    标签: c++ c header include linker


    【解决方案1】:

    尽管这里的其他答案说什么 - 不,没有。库可以(有时会)重新定义相同的函数,唯一可以尝试解决此类冲突的是链接器,它知道 zip 关于头文件。

    【讨论】:

      【解决方案2】:

      这并不适用于所有情况,但如果您使用自己的头文件(例如在模块化程序中),您可以在头文件中包含库名称。

      这在 Visual Studio 中特别方便,您可以在库头中 #pragma comment(lib, "thismodule.lib") 并且包括库在内的代码永远不必担心。在其他平台/编译器上,您可能会发现类似的命令。

      不过,任何好的第 3 方库都应该有关于包含哪些内容的说明。

      【讨论】:

      【解决方案3】:

      假设我知道我的一些 C/CPP 文件包含某些标题 - 有没有可靠的信息 我将不得不针对哪些图书馆 链接,除了猜测?

      并非如此,但您通常会在您正在使用的函数/类的文档中找到此类信息。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-08-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-07-06
        • 1970-01-01
        相关资源
        最近更新 更多