错误描述
提示C++17不支持动态异常规格。
g++ -DHAVE_CONFIG_H -I. -I../.. -I/openwrt/staging_dir/host/include -g -O2 -MT elf.o -MD -MP -MF .deps/elf.Tpo -c -o elf.o elf.cpp
In file included from elf_data.hpp:24,
from elf.cpp:21:
elf.hpp:52:56: error: ISO C++17 does not allow dynamic exception specifications
52 | const section &get_section(unsigned int i) const throw (std::out_of_range) { return *sections.at(i); };
解决步骤:
1、安装低版本的g++及gcc(如g++-9及gcc-9)
sudo apt-get install gcc-9
sudo apt-get install g++-9
2、设置默认编辑器
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 50 --slave /usr/bin/g++ g++ /usr/bin/g++-9