關於/usr/bin/ld: cannot find -lcrypto 的錯誤


Linux下 build code 時,要做 -lssl, -lcrypto 的鏈接,出現類似下面的錯誤:

/usr/bin/ld: cannot find -lcrypto

/usr/bin/ld: cannot find -lssl
原因是沒有找到 libssl.so


yum info openssl,發現openssl 1.0.0已經安裝了

ll /usr/lib64/libssl*,得到

-rwxr-xr-x. 1 root root 242112 Jul 17  2012 /usr/lib64/libssl3.so
lrwxrwxrwx. 1 root root     15 Nov 30 01:31 /usr/lib64/libssl.so.10 -> libssl.so.1.0.0
-rwxr-xr-x. 1 root root 372488 Aug 23  2012 /usr/lib64/libssl.so.1.0.0
根本原因是,雖然有libssl的動態庫文件,但沒有文件名為 libssl.so 的文件,ld找不到它

於是添加軟鏈接:

ln -s /usr/lib64/libssl.so.1.0.0 /usr/lib64/libssl.so

ln -s /usr/lib64/libcrypto.so.1.0.0 /usr/lib64/libcrypto.so

然后再重新build時,問題就沒有了。


注意,這里不需要在/etc/ld.so.conf文件中加入新的一行 "/usr/lib64",因為這個路徑默認會被ld訪問到

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM