为 C 库指定包含目录

Specify include-directory for C libs

我写了一个使用 libcurl 的小 C 程序,尤其是它的 SMTP 功能。

由于 version/the 主机安装的 libcurl 支持的协议不太符合我的需要,我在我的主目录中编译了一个 curl/libcurl 版本。

我配置了我的 PATH,所以我可以使用我自己编译的 curl 版本,curl -V 看起来不错,正是我需要的。

curl-config的帮助下,我编译了我的程序:

gcc -I/home/me/include -o my-program my-program.c -L/home/me/lib -lcurl

如果我从 shell 调用程序,它会像预期的那样工作,没有任何错误。

如果我通过 cron 调用它会导致此错误:

curl_easy_perform() failed: Unsupported protocol

Unsupported protocol错误表明使用了错误的 libcurl 构建,因为主机安装的 curl 确实不支持 SMTP。

我已经尝试像 shell (/home/me/bin) 和 C_INCLUDE_PATH 中那样设置路径 here (/home/me/include) 但都没有解决我的问题.

我的谬误在哪里?有什么建议吗?

谢谢,蒂姆

您需要在 LD_LIBRARY_PATH 环境变量中指定 curl 库的路径。 C_INCLUDE_PATH 用于头文件的路径。