在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 結束,成功。