#include <openssl/sha.h>
を使ってsha1の計算をしようとしたらコンパイルエラーが出ました。
Undefined symbols for architecture x86_64:
"_SHA1_Final", referenced from:
_calc_sha1 in sha1-8b90d3.o
"_SHA1_Init", referenced from:
_calc_sha1 in sha1-8b90d3.o
"_SHA1_Update", referenced from:
_calc_sha1 in sha1-8b90d3.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
対処法
コンパイルするときに-lcrypto
を指定したら解決しました。
gcc -lssl -lcrypto sha1.c
(Linuxだと-lsslだけでいけた気がするんだけど、なんでだろう...)