【问题标题】:Linking Error C++ Libcurl链接错误 C++ Libcurl
【发布时间】:2014-11-08 10:39:00
【问题描述】:

我正在尝试运行以下 g++ 命令

gcc client.cc -o client -I$(CURRENTPATH)/curl-7.38.0/include/ -L$(CURRENTPATH)/lib/libcurl.so -lcurl

但得到这个错误:

/usr/bin/ld: cannot find -lcurl collect2: ld returned 1 exit status

libcurl.so 位于 ./lib 我试过使用 libcurl.so 和 lib/libcurl.so.4 和 lib/libcurl.so.4.3.0 但总是得到相同的错误。

我无权访问 /usr

我还将 LD_LIBRARY_PATH 设置为包含 ./lib(完整路径)

有什么想法吗?

我的理解是 -L 指定非传统的库路径,并且 LD_LIBRARY_PATH 确定编译器将在哪里查找它们。

【问题讨论】:

  • -L后面不应该有目录路径吗?
  • 您能否在问题中包括为什么您使用自定义目录而不是 libcurl 的系统安装?
  • 加上一个关于 LD_LIBRARY_PATH 的注释,它用于动态链接器,即它在您运行可执行文件时使用,而不是在您构建它时使用。另外,我建议您至少使用一个极简的 make 文件设置 CFLAGSLDFLAGS,仅此而已,让您可以运行 make client
  • 使用g++ 而不是gcc 来编译或链接C++ 代码。

标签: c++ c curl linker libraries


【解决方案1】:

-L 采用路径而不是特定库

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-19
    • 2015-07-08
    • 1970-01-01
    • 2011-07-25
    • 2011-10-02
    • 2017-11-09
    • 2011-11-08
    • 1970-01-01
    相关资源
    最近更新 更多