错误:类型名称未知的“ CURL”

加勒特

我编写了一个C库,该库利用libcurl库与REST API进行交互。我在基于debian的系统上编写了此代码,但现在尝试在运行OpenWRT发行版的Arduino上使用它。尝试使用它时,我注意到编译器尝试使用libcurl时出现问题,因此我编写了一个超级简单的程序对其进行测试。

#include <curl/curl.h>

void main() {
    CURL *curl;
}

然后我像这样编译它...

gcc -lcurl test.c -o test

并得到以下内容。

test.c: In function 'main':
test.c:4:2: error: unknown type name 'CURL'

libcurl已安装在设备上。

Package libcurl (7.29.0-1) installed in root is up to date.

这是我运行opkg文件libcurl时显示的内容

Package libcurl (7.29.0-1) is installed on root and has the following files:
/usr/lib/libcurl.so.4
/usr/lib/libcurl.so.4.3.0

最困难的时间试图找出问题所在。链接是我发现与我的问题几乎相似的唯一内容,但是解决方案对我不起作用。有没有人有什么建议?

谢谢。

编辑:所以我认为我发现了有关该问题的更多信息。我想我也缺少许多libcurl开发软件包,因为我查看了opkg.conf文件,发现唯一的软件包列表如下。

http://downloads.arduino.cc/openwrtyun/1/packages

也许我需要找到一个OpenWRT软件包列表,其中包含我需要的额外libcurl软件包?我似乎找不到他们。

加勒特

因此,我能够解决我的问题,但我猜不是“正确”。

显然,我正在运行的OpenWRT发行版使用的是完全不同的libcurl库,当我尝试卸载它时,opkg软件包管理器警告我,因为它也使用了当前安装的libcurl库,因此如果删除它,它可能会损坏。

因此,我从Github手动安装了所需libcurl版本,然后在我的代码中进行了适当的引用以使用该其他版本。

感谢大家帮助我朝正确的方向前进。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章