libcurl.a + sqlcipher 渊源

来源:互联网 发布:nginx rewrite 配置 编辑:程序博客网 时间:2024/04/28 08:15

问题:cocos2d-x 中集成 sqlcipher,为啥不需要再包含 openssl 的静态库?

1)sqlcipher 中起作用的实际上只有 sqlite3.c 这一个源文件,它引用了 openssl 的几个头文件

#include <openssl/rand.h>

#include <openssl/evp.h>

#include <openssl/hmac.h>

2)cocos2d-x 2.x 的 libcurl.a 静态库文件中,实际上已经包含了 openssl 的目标文件(奇怪的是没找到 openssl 相关的头文件)

3)cocos2d-x 2.x 的工程集成 sqlcipher 只需要 sqlite3.c 源文件和 openssl 的相关头文件即可!

4)下面这个名为 Xxx-LinkMap-normal-arm64.txt 的文件,包含了要将哪些目标文件链接到最终的可执行文件的信息。可以看到,libcurl.a 静态库文件中确实是包含了 openssl 目标文件的(在 Build Settings 中搜索 map,Linking => Path to Link Map File => Debug 的值即为该文件的所在路径)

关键字:rand

[264] ~/cocos2d-x-2.2.6/cocos2dx/platform/third_party/ios/libraries/libcurl.a(bn_rand.o)

[351] ~/cocos2d-x-2.2.6/cocos2dx/platform/third_party/ios/libraries/libcurl.a(md_rand.o)

[367] ~/cocos2d-x-2.2.6/cocos2dx/platform/third_party/ios/libraries/libcurl.a(rand_egd.o)

[368] ~/cocos2d-x-2.2.6/cocos2dx/platform/third_party/ios/libraries/libcurl.a(rand_lib.o)

[369] ~/cocos2d-x-2.2.6/cocos2dx/platform/third_party/ios/libraries/libcurl.a(rand_unix.o)

[404] ~/cocos2d-x-2.2.6/cocos2dx/platform/third_party/ios/libraries/libcurl.a(tb_rand.o)

关键字:evp

[324] ~/cocos2d-x-2.2.6/cocos2dx/platform/third_party/ios/libraries/libcurl.a(evp_asn1.o)

[325] ~/cocos2d-x-2.2.6/cocos2dx/platform/third_party/ios/libraries/libcurl.a(evp_enc.o)

[326] ~/cocos2d-x-2.2.6/cocos2dx/platform/third_party/ios/libraries/libcurl.a(evp_lib.o)

[327] ~/cocos2d-x-2.2.6/cocos2dx/platform/third_party/ios/libraries/libcurl.a(evp_pbe.o)

关键字:hmac

[298] ~/cocos2d-x-2.2.6/cocos2dx/platform/third_party/ios/libraries/libcurl.a(e_aes_cbc_hmac_sha1.o)

[307] ~/cocos2d-x-2.2.6/cocos2dx/platform/third_party/ios/libraries/libcurl.a(e_rc4_hmac_md5.o)

[331] ~/cocos2d-x-2.2.6/cocos2dx/platform/third_party/ios/libraries/libcurl.a(hmac.o)

0 0
原创粉丝点击