为 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 用于头文件的路径。
我写了一个使用 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 用于头文件的路径。