安装solidity遇见的问题——unused variable 'returned'

时间:2021-07-28 15:28:52

在编译安装solidity的过程中遇见了一个很奇怪的问题

webthree-umbrella/libethereum/libethereum/Executive.cpp: In member function 'void dev::eth::StandardTrace::operator()(uint64_t, uint64_t, dev::eth::Instruction, dev::bigint, dev::bigint, dev::bigint, dev::eth::VM*, const dev::eth::ExtVMFace*)':
/home/vagrant/Code/workspace/webthree-umbrella/libethereum/libethereum/Executive.cpp:81:8: error: unused variable 'returned' [-Werror=unused-variable]
bool returned = true;
^
cc1plus: all warnings being treated as errors

好像是说编译的过程中把警告当做错误来处理。然后变量“returned”定义了但没使用,所以造成一个警告,被当成错误处理。

不过查看编译选项好像没有“-Werror=unused-variable”这个选项,没办法只好去webthree-umbrella/libethereum/libethereum/Executive.cpp这个文件中,发现确实定义了一个returned变量,而且只有一次赋值的操作,其他地方完全没用到。

只有把returned声明和赋值的两条语句注释掉就行了

安装solidity遇见的问题——unused variable 'returned'

 

然后重新编译,成功!

安装solidity遇见的问题——unused variable 'returned'

 测试:

进入webthree-umbrella/build/solidity/solc/目录,有文件solc可执行程序

安装solidity遇见的问题——unused variable 'returned'

运行这个就行了

安装solidity遇见的问题——unused variable 'returned'