【问题标题】:External library (CURL) in C makefileC makefile 中的外部库 (CURL)
【发布时间】:2020-12-25 14:29:21
【问题描述】:

我想使用 Raspberry Zero 在我的 Waveshare 电子纸显示器上显示天气数据。使用提供的库控制显示效果很好。另一方面,我正在使用数据库中的 PHP 脚本加载天气数据。为此,我将 HTTP-Post 请求与 CURL 库一起使用。这也很好。 现在我想结合两个“项目”,所以我将“curl/curl.h”包含到示例 Waveshare 项目中,但我得到一个“未定义的参考错误”。 我知道 Makefile 中缺少指向 CURL 库的链接,但我以前从未使用过 Makefile。目前我正在使用 Waveshare 库 (https://github.com/waveshare/e-Paper/blob/master/RaspberryPi_JetsonNano/c/Makefile) 中提供的 Makefile。

我会很高兴得到任何支持。我已经尝试过这里的提示 (How to use external libraries and headers in C Makefile?),但我不知道如何为我的 makefile 调整它...

提前致谢 安迪

【问题讨论】:

    标签: curl makefile hyperlink external


    【解决方案1】:

    curl 需要在编译和链接时链接到配方中的可执行文件。这是通过将-lcurl 添加到gcc 的参数来完成的。

    您链接到的 makefile 没有使用 LDFLAGS,所以这里有几个选项:

    1. 运行make 时,在CFLAGS 中提供链接器选项,如下所示:CFLAGS="-lcurl" make。这会将 curl 的适当链接器参数添加到 Makefile 中的构建命令
    2. 修改 Makefile 以在需要的地方包含 -lcurl

    选项 1 不需要更改 Makefile,但您必须记住在每次运行 make 时设置 CFLAGS 变量。选项 2 需要对 Makefile 进行更改,但是当您单独运行 make 时会做正确的事情。

    【讨论】:

      猜你喜欢
      • 2020-06-22
      • 2013-02-09
      • 1970-01-01
      • 1970-01-01
      • 2019-03-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多