用logify.pl转换微信头文件的时候,发现下面这种类型的函数 转换以后会出现编译错误,一个个去修改可能也没问题,但是我懒啊
- (void).cxx_destruct { %log; %orig; }
下面提供一个简单粗暴的办法,找到:
/opt/theos/bin/logify.pl
打开(建议先复制先复制到其他地方,然后改名原本的):
找到 :
if($line =~ m/^[+-]\s*\((.*?)\).*?(?=;)/ && $interface == 1) {
修改为 :
if($line =~ m/^[+-]\s*\((.*?)\)[^.]*?(?=;)/ && $interface == 1) {
(嗯,这个我不确定是不是需要,因为下面的还有一个判断)
找到:
$declaration =~ m/^[+-]\s*\((.*?)\).*?/;
修改为 :
$declaration =~ m/^[+-]\s*\((.*?)\)[^.]*?/;
替换原来的 命令行执行 输入密码
sudo chmod 775 /opt/theos/bin/logify.pl
然后应该就可以输出正常的了(unknown class name问题不在解决范围之内)
感谢E.L.O.U.R qq320263999帮忙测试正则表达式(嗯 其实就是我说了想法他负责实现的。。)