在Dev C++里编译好QuantLib后,通过Qt自带的MinGW编译环境编译自己的程序,链接了QuantLib库,此时产生了一些_unwind_sjlj_resume __gxx_personality_sj0的编译错误。
经查,是由于编译器的版本不同造成的,Dev C++里MinGW的GCC为3.4.2,而Qt里MinGW的GCC为4.4.0。
解决方法:修改Dev C++的编译环境为GCC 4.x
1 在Dev C++中打开Tools --> Compiler Optons。在Compiler中增加一个编译配置。(如gcc4.x)
2 设置该编译环境。在Directories里修改:
3 重新编译QuantLib。
将QuantLib工程的编译选项中的编译环境改为gcc4.x。
4 在eclipse中的Qt编译环境中重新编译自己的程序。
5 结束,成功。