G++ 无法链接 curl lib 文件

g++ can't link curl lib files

本文关键字:lib 文件 curl 链接 G++      更新时间:2023-10-16

我在让 g++ 链接 curl lib 文件时遇到了一些问题。我正在使用Visual Studio 2017和linux开发插件和Ubuntu Server 17.04。

curl-config --libs给出了-Lcurl的输出,我尝试将其添加到Project settings > Linker > Command Line > Additional options的链接器选项中。我还将--cflags输出添加到编译选项中。这并没有解决问题。

然后我尝试了网站上的源代码并使用了制作和安装。curl-config --libs给了我不同的-L/usr/local/lib -lcurl输出.我更改了链接器中的选项,但这仍然不起作用。

链接器输出说了很多"未定义的引用",然后是curl方法。我在 cpp 文件中有#include <curl/curl.h>

有什么想法吗?
谢谢

使用默认安装,您将指定要与-lcurl一起gcccurl库,如curl-config --libs所报告的那样。若要在 VCLinux 生成的gcc命令行上传递此内容,请将curl添加到 VS 项目属性中"链接器/输入"下的">其他库依赖项"行。请注意,您只输入curl,VCLinux 提供-l,gcc 链接器将其扩展为libcurl.a的实际文件名(如果您正在链接共享库,则libcurl.so(。

您通常不必指定库搜索路径,因为/usr/lib等会自动位于库搜索路径上。例如,在 Debian 9 上,libcurl.a/usr/lib/i386-linux-gnu中。但是,如果您在非标准的地方安装了 curl,请将路径添加到链接器/常规下的"其他库目录"。如果要从 Linux 发行版安装 curl,请记住也要安装开发文件;在 Debian 上,这是软件包libcurl4-gnutls-dev

curl 与pkg-config兼容,因此,作为直接输入路径和库名称的替代方法,您可以在C++/所有选项/其他选项中指定%24(pkg-config --cflags libcurl),并在链接器/所有选项/附加选项中指定%24(pkg-config --libs libcurl)。 请注意,%24是编码$因为否则 Visual Studio 会尝试(并失败(将字符串解释为宏。

是因为 . 在您的包含中?除此之外,Visual Studio还需要知道标题和库的搜索路径。它可以搜索生成输出或其某些默认目录,即 VC++ 目录。除此之外,你必须告诉它在哪里搜索,通过使用附近的一些其他菜单。