我正在尝试在我的Mac上构建SQLCipher并在运行make后出现致命错误。
系统:OS X El Capitan 我按照this指令安装了openssl。
在运行make之前,我将libcrypto.a与命令
静态链接./configure --enable-tempstore=yes CFLAGS="-DSQLITE_HAS_CODEC" \
LDFLAGS="/usr/local/opt/openssl/lib/libcrypto.a"
我遇到错误
sqlite3.c:18280:10: fatal error: 'openssl/rand.h' file not found
#include <openssl/rand.h>
^
1 error generated.
make: *** [sqlite3.lo] Error 1
答案 0 :(得分:2)
我专门为我试图安装的golang库遇到过这个问题。我尝试运行go get github.com/xeodou/go-sqlcipher
时出现以下错误:
# github.com/xeodou/go-sqlcipher
project/src/github.com/xeodou/go-sqlcipher/sqlite3-binding.c:18280:10: fatal error: 'openssl/rand.h' file not found
我通过将以下内容添加到我的bash配置文件来修复此问题:
export CGO_LDFLAGS="-L/usr/local/opt/openssl/lib"
export CGO_CPPFLAGS="-I/usr/local/opt/openssl/include"
希望这有帮助。
答案 1 :(得分:1)
确保brew已正确链接到openssl库。运行此命令
brew link openssl --force
然后再试一次。
答案 2 :(得分:1)
我没有在我的机器上冲泡,但我以不同的方式修复了这个错误。在Xcode中,我去了Preferences-&gt; locations-&gt;&#34; source trees&#34; - &gt;单击+,将OPENSSL_SRC设置为&#34;完整路径到openssl-source&#34;
答案 3 :(得分:0)
我做了所有这些,但是对我有用的是:brew reinstall openssl
,当然,您应该是/ usr / local的所有者,以确保做到这一点:sudo chown -R username /usr/local
。
希望这会对有需要的人有所帮助。