C++ 尝试使用Netbeans开发Qt应用程序时未定义SjLj
大家下午好 我正在尝试开发我的第一个Qt应用程序。如果我尝试使用自己的代码在静态库中链接,会出现以下错误:C++ 尝试使用Netbeans开发Qt应用程序时未定义SjLj,c++,qt,netbeans,C++,Qt,Netbeans,大家下午好 我正在尝试开发我的第一个Qt应用程序。如果我尝试使用自己的代码在静态库中链接,会出现以下错误: H:/NetBeansProjects/CommonLib/aes.cpp:607: undefined reference to `__gxx_personality_sj0' H:/NetBeansProjects/CommonLib/aes.cpp:607: undefined reference to `_Unwind_SjLj_Register' H:/NetBeansProje
H:/NetBeansProjects/CommonLib/aes.cpp:607: undefined reference to `__gxx_personality_sj0'
H:/NetBeansProjects/CommonLib/aes.cpp:607: undefined reference to `_Unwind_SjLj_Register'
H:/NetBeansProjects/CommonLib/aes.cpp:615: undefined reference to `_Unwind_SjLj_Resume'
我的代码在不与Qt一起使用时编译并工作。
在我尝试链接我的库之前,Qt程序已经编译并运行了。
谷歌对其进行的分析表明,用于构建这两组代码的编译器可能不匹配。我将Netbeans环境设置为使用相同的工具链来构建这两个环境,而不使用
改变
我正在使用Windows、NetBeans 6.9.1和最新的Qt。我已将编译器设置为使用
Qt提供的mingw编译器
有什么建议吗?找到了解决方案
它是从我以前的项目版本链接到库中的
我用Qt安装了新版本的Mingw编译器来修复一个问题。我在Netbeans中将新编译器设置为一个具有不同名称的工具链
我使用新的工具链对引用的项目进行了清理和构建。Netbeans将编译后的库存储在工具链中命名的目录中。它将库的旧版本保留在另一个以原始工具链命名的目录中
向库添加项目引用时,Netbeans将导入库的路径。如果更改工具链(从而更改库的路径),其他项目仍然指向旧代码。您必须删除项目引用并重新添加它们。看起来没有代码会链接到新的Qt/mingw。我的非Qt单元测试现在也这样做了。