After adding the link options: -lssl and -lcrypto, my program was correctly compiled. However, I found GCC doesn't include the two options, so where do the options come from?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
The GCC documentation tells us that -l
is the option to link with a library.
-llibrary
-l library
Search the library named library when linking. (The second alternative with the
library as a separate argument is only for POSIX compliance and is not
recommended.)
So you're telling gcc to link with the libraries "ssl" and "crypto". These libraries are typically installed in /usr/lib
. On Linux they'll be called libssl.so
and libcrypto.so
. On OS X they'll be called libssl.dylib
and libcrypto.dylib
.