繁体   English   中英

g++ 无法链接 curl 库文件

[英]g++ can't link curl lib files

我在获取 g++ 以链接 curl 库文件时遇到一些问题。 我正在使用带有 linux 开发插件和 Ubuntu Server 17.04 的 Visual Studio 2017。

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

然后我尝试了网站上的源代码并使用了 make 和 make install。 curl-config --libs给了我一个不同的 output 的-L/usr/local/lib -lcurl 我更改了 linker 中的选项,但这仍然不起作用。

linker output 说了很多“未定义的引用”,然后是 curl 方法。 我在 cpp 文件中有#include <curl/curl.h>

有任何想法吗?
谢谢

默认安装时,您将使用-lcurlcurl库指定为gcc ,如curl-config --libs报告的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,请在Linker / General下将路径添加到Additional Library Directories 如果要从Linux发行版安装curl,请记住也要安装开发文件。 在Debian上,这是软件包libcurl4-gnutls-dev

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

是因为后面没有h。 在你的包括? 除此之外,Visual Studio还需要知道标题和库的搜索路径。 它可以搜索生成输出或其某些默认目录(即VC ++目录)。 除此之外,您还必须使用附近的一些其他菜单来告诉它要搜索的位置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM