Visual Studio 2019 编译 MySQL 5.7 源代码并提取 MySQLClient 源码级调试
1.使用 cmake 生成 mysql 项目.
2.删除无关项目,仅留下以下列表项目文件(这11个项目文件编译出来的就是mysqlclient)
3.自行玻璃原有的第三方依赖库
4.添加项目并引用
5.8.0类似方法,自行去精简你的MySQL源代码吧。
说说抽取项目文件优点:
1.支持源码级调试,f12 未调试时可随时跟踪源代码。
2.减少项目依赖,让所有被依赖项成立树关系,减少工程配置项,使用项目引用。
3.你想到的我想不到,反正在windows下这种引用MySQLClient的方式,笔者认为更好。
4.减少MySQL自身大小,让这种关系在整个项目中被编译器优化。
- 1. libmysql\vsprojects\libmysql\authentication_win\auth_win_client.vcxproj
- 2. libmysql\vsprojects\libmysql\clientlib.vcxproj
- 3. libmysql\vsprojects\extra\comp_err.vcxproj
- 4. libmysql\vsprojects\dbug\dbug.vcxproj
- 5. libmysql\vsprojects\libmysql\libmysql.vcxproj
- 6. libmysql\vsprojects\mysys\mysys.vcxproj
- 7. libmysql\vsprojects\mysys_ssl\mysys_ssl.vcxproj -- 依赖 OpenSSL
- 8. libmysql\vsprojects\strings\strings.vcxproj
- 9. libmysql\vsprojects\vio\vio.vcxproj
- 10. libmysql\vsprojects\zlib\zlib.vcxproj -- 可替换
- 11. libmysql\vsprojects\extra\zlib_decompress.vcxproj -- 可删除
关系顺序
MySQL -> OpenSSL -> Zlib
Curl -> OpenSSl -> Zlib
我的项目 -> OpenSSL -> Zlib
最终成为: 我的项目 -> MySQL -> CURL -> OpenSSL -> Zlib