2016-10-24 4 views
0

私のcnetosにcurl v7.19.7があります。電子メールを送るためのC++プログラムを開発したいので、curl v7.50.3ソースコードを入手してインストールします(configure、make、make install)。私のC++プログラムが正常にビルドし、私はそれを実行しようとすると、エラーがありますが:セントでのカールの更新

* Protocol smtp not supported or disabled in libcurl 
* Unsupported protocol 
curl_easy_perform() failed: Unsupported protocol 

私はコマンドを続行:--versionカール、それは示しています

curl 7.50.3 (x86_64-pc-linux-gnu) libcurl/7.19.7 NSS/3.13.6.0 zlib/1.2.3 libidn/1.18 libssh2/1.4.2 

それはまだlibcurlのようです古いバージョンを参照してください!

私は

1. rpm -q curl 
2. rpm -e --nodeps curl-7.19.7-35.el6.x86_64 

しようが、それは何の違いを出てきませんが。 /etc/ld.so.confに "/ usr/local/lib"を追加しても、まだ動作しません!

古いバージョンのカールライブラリ(v7.19.7)を明確に削除するにはどうすればよいですか?私のC++プログラムは新しいバージョンのカール(v7.50.3)を参照できますか?

+0

をコンパイルしたカールをインストールwhereeverあなたが ''に/ etc /編集ld.so.conf'後ldconfig'を実行しなかったことを確認してください? – ymonad

+0

実行時リンカーは、パスの前の古いlibcurl(まだインストールされている)を見つけます。 –

+0

@ ymonadさんの助けてくれてありがとうございます、リンクを更新するためにldconfigを実行しなかったことが判明しました! "ldconfig"を実行した後、私の問題は解決しました! .7-35.el6.x86_64 "が必要ですか?または" ldconfig "を実行してリンクを更新できますか? – jones321

答えて

0

実行ファイルに "ldd"を使用して、使用しているカールのバージョンを確認してください。

libcurlのパスは "libには/ usr/local /" に一致するか、あなたが

[[email protected] bin]$ ldd myExecutable | grep curl 
libcurl.so.4 => /usr/local/lib/libcurl.so.4 (0x00...) 
+0

SMTPはデフォルトで有効になっています –

+1

ありがとうあなたの助けのために!私の場合、その "ldconfig"はリンクを更新する必要があります...しかし、私はあなたの答えから "ldd"コマンドの使用法を学ぶ〜ありがとう! – jones321

+0

ニコラス:それが間違っていたので、 '--enable-smtp'の提案全体を削除してしまった場合です。 –