Closed alongL closed 2 years ago
感谢郑总的热心答复! 能否把 编译mbedtls为so的命令加到博客里面,不了解mbedtls的人上手会快一点。 默认cmake 只生成.a的静态库。
mkdir build
cmake -DUSE_SHARED_MBEDTLS_LIBRARY=TRUE ..
个人希望如果可以的话,将acl简化一下,把网络库的核心独立出来,做成开箱即用的东西,保留http, 其余的aliyun, snmp等等功能都放到samples里面。
因为项目中已经有CMakeLists.txt了,基本上已经不需要xcode,visualstudio的工程文件了。 我试着删了一下工程文件、samples、doc,瞬间感觉项目变得干净异常。 推荐作者把这些清理一下~~
项目中集成了mbedtls的头文件 ,似乎也不是必要的,并且可能是有害的,比如导致无法与新版本mbedtls兼容,所以建议也进行些许修改。
之所以费这么大劲针对各个平台都提供了平台上主流的工程文件,主要是为了方便使用者集成到自己的项目中,毕竟并不是所有人都需要做跨平台开发的,虽然cmake提供了跨平台方式,但在各平台上,还是使用平台原生的开发工具更方便,另外,cmake 无法代替IDE的功能,虽然其也可以生成对应平台上的工程文件,但与原生的相比还是差太多了。 在 acl 项目中之所以直接集成了所依赖库的头文件,主要是为了给不需要第三方库的用户提供了一种方便,这样 acl 采用动态加载方式(费不少劲)基本做到这一点了,比如,有人不需要 mbedtls 但需要 mysql 功能,他就可以很方便地使用 acl + mysql 功能而不必关心 mbedtls 的存在,当然这种动态加载的弊端就是不能跟踪第三方库的最新版,在 https://github.com/acl-dev/third_party 提供了 acl 所依赖库的源码,方便使用者进行集成。
已经看了文章 https://blog.csdn.net/zsxxsz/article/details/103945543 但还是没看懂。
1.windows下如何生成mbedtls 的dll,这个好像mbedtls还没有解决 https://github.com/ARMmbed/mbedtls/issues/470 如果使用mbedtls的静态库,如何与acl集成?
2.不知道为什么没有用openssl,感觉openssl的支持更好,文档更丰富,目前已经发布openssl-3.0了,是否有可能改成openssl? 文档里面好像提到有libtls看了一下,也不太像很简单的接口。
3.感觉整个项目的代码有一点点混乱,包罗万象,又支持各个平台,关键库本身还分成了lib_acl lib_fiber lib_fiber_cpp lib_protocal等等,让人眼花缭乱。 是否在将来会统一成一个库,libacl.a,都在一个库里实现多好。