我设法(以某种方式)与用于32位Windows的Mingw-w64项目编译器交叉编译Qt5。所有的库已安装到~/i686-w64-mingw32
。程序入口点__gxx_personality_sj0不能位于...
我有一个基于CMake的Qt项目,我试图交叉编译。通过遵循these instructions,我已经能够让项目编译。到现在为止还挺好。
不幸的是,执行在Windows上生成的二进制文件的时候,我最终得到一个错误:
"The procedure entry point __gxx_personality_sj0 could not be located in the dynamic link library [application_name].exe"
* [应用程序名称]是将主可执行文件的完整路径
我听说这种类型的问题有时可能是由混合使用不同版本的MinGW编译的库引起的。但是这台机器上的所有东西(所有的库和可执行文件)都是由同一个编译器编译的(i686-w64-mingw32
工具链)。
此外,我觉得奇怪的是,错误抱怨应用程序可执行文件丢失的入口点而不是.dll
文件之一。
什么可能导致此错误,以及可以采取哪些措施来纠正它?
也许你正在使用以不同版本编译的软件 – didierc 2013-02-15 06:44:05
@didierc:我只安装了一个版本的Mingw-w64。 – 2013-02-15 07:38:56
我想知道如果你有一个用不同版本的mingw编译的软件,而不是你使用过不同版本的mingw。你的回答完全反映了我的假设,即某个地方的另一个软件正在使用由不同版本生成的库,并且它以某种方式与你的编译软件进行交互。我想我没有把事情说得够好,但你知道了,向你表示赞美! – didierc 2013-02-15 14:13:18