在Linux操作系统下,系统从AS5换到AS4时,编译程序出现undefined reference to `_Unwind_Resume',统一答案:这个错误只要加上-Wl,-Bdynamic -lgcc_s 这个参数就可以了。
正确的位置是,加到生成可执行程序时的命令的后面。
具体的说,如果编译使用的时Mikefile,如下:
GCC_C = g++ -c -g -Wall
GCC_O = g++ -o
CFLAG = -Wno-deprecated -I/usr/include/mysql
NIMT: larbin1 htmlparser1 $(O_FILE)
$(GCC_O) NIMT $(O_FILE) $(CFLAG)
则加到CFLAG后面,即CFLAG = -Wno-deprecated -I/usr/include/mysql -Wl,-Bdynamic -lgcc_s,即NIMT是要生成的可执行文件,命令:$(GCC_O) NIMT $(O_FILE) $(CFLAG),NIMT前面是g++ -o,后面跟的是需要的动态链接库,就在这里!
如果是使用单命令的朋友们,那就好办了,在生成可执行文件最后加上即可!
总结一下,其实参数`_Unwind_Resume'在不同的LINUX版本中所在的动态链接库不一样,所以更改版本后就需要调用其所在的库,既然调用的动态链接库,当然要加在那里!希望对跟我一样遇到此问题的朋友有帮助。