场景
windows下通过conan2安装poco包在debug模式下构建报错的问题(macos下没有问题),报错信息如下。
解决思路
根据报错信息,可以看到问题是源码编译错误,我们考虑的方向就是在源码处进行修复。根据conan2的机制,初次安装之后,会有一个缓存记录,后面每次安装都会去缓存中获取,而不是每次都是远端拉取,这里我们主要按照以下几个步骤进行。
- 找到缓存的文件序列号
- 到数据库中找到对应的文件夹
- 修改源码
- 重新编译
根据编译日志,可以找到报错的sqlite3所阴影的缓存序列号
在.conan2/p 文件夹下 找到 cache.sqlite3文件,通过工具打开即可查看,找到对于的rrev的值所在的行,即可找到path的值。
找到对于的文件夹
里面会有几个文件夹找到源码文件夹
通过colin打开查看(其他的IDE不一定能发现),可以看到这里有个 ZWNBSP 字符,这是一个零宽度空白字符。
罪魁祸首就是这个了。修改之后,重新执行构建,就可以通过了。
类似问题,也可以参考此方案。