g ++不能链接curl库文件

我有一些问题,让g ++链接curl lib文件。 我正在使用Visual Studio 2017与Linux开发插件和Ubuntu服务器17.04。

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

然后,我尝试从网站的源使用make并进行安装。 curl-config --libs给了我不同的-L/usr/local/lib -lcurl 。 我改变了链接器中的选项,这仍然没有工作。

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

有任何想法吗?
谢谢

使用默认安装,您将使用curl-config --libs报告的-lcurlcurl库指定为gcc 。 并且把它传递给VCLinux生成的gcc命令行,将curl加入到 额外 链接器 / 输入在VS项目属性中的库依赖项。 请注意,只需输入curl ,VCLinux提供-l ,gcc链接器将其扩展为libcurl.a的实际文件名(如果链接共享库,则为libcurl.so )。

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

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

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