[英]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>
。
有任何想法吗?
谢谢
默认安装时,您将使用-lcurl
将curl
库指定为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.