我正在PlatformIO项目https://registry.platformio.org/libraries/joaolopesf/RemoteDebug中使用此库
我遇到了this issue,其中的库有一个过时的include #include <hwcrypto/sha.h>
,这会导致编译错误。
解决方案是用较新的include <esp32/sha.h>
替换它。
虽然这是一个有效的解决方案,但我不喜欢必须编辑库代码才能实现它。
那么问题是,我是否可以通过某种方式从用户代码中修复这个问题?比如#define <hwcrypto/sha.h> <esp32/sha.h>
。
(That特定宏引发不同的编译错误)。
2条答案
按热度按时间roejwanj1#
在源代码级别没有替代include文件名的解决方案。但是您可以使用include路径来解决这个问题:
从主源目录运行以下命令:
然后你可以编译库源代码不修改通过
-Icompat
作为一个额外的编译选项。你可以使用不同的路径为compat
目录,以避免修改源代码树。tcomlyy62#
如果我能从用户代码中修复这个问题呢
不可以。您必须编辑源文件。