构建SQLCipher时出现致命错误(' openssl / rand.h'文件未找到)

时间:2016-04-11 17:48:05

标签: macos sqlite osx-elcapitan sqlcipher

我正在尝试在我的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

4 个答案:

答案 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

希望这会对有需要的人有所帮助。