[SOLVED] QT 5.0.2 Win 8 and exited with code -1073741511. Modules with different CPU types?



  • Hi All

    I have recently upgraded from win 7 to win 8.
    I had issues with builds.
    I went from QT 4.8 to QT 5.0.2 and
    Removed / Uninstalled All QT files - rebooted
    reinstalled only QT 5.0.2 - rebooted
    I have deleted all pro.user files but I keep getting the same error.

    When I build the debug version runs ok
    But the release version fails with
    SHIMVIEW: ShimInfo(Complete)
    The program has unexpectedly finished.
    C:\Work\projects\QT\Tools-Build\release\Tools exited with code -1073741511

    or a error message box saying
    "The application was unable to start correctly (0xc000007b). Click ok to close the application."

    When I get this the application sometimes hangs about in background and I have to kill it with
    the task manager.

    Dependancy walker gives me this.
    Error: At least one module has an unresolved import due to a missing export function in an implicitly dependent module.
    Error: Modules with different CPU types were found.
    IESHIMS.DLL cannot be found.

    I have tried copying the following dlls into the release directory
    D3DCompiler_43.dll
    icudt49.dll
    icuin49.dll
    icuuc49.dll
    libgcc_s_sjlj-1.dll
    libGLESv2.dll
    libstdc++-6.dll
    libwinpthread-1.dll
    Qt5Core.dll
    Qt5Gui.dll
    Qt5Widgets.dll
    Am I missing any?

    my system path starts with
    "C:\Qt\Qt5.0.2\5.0.2\mingw47_32\bin;C:\Qt\Qt5.0.2\Tools\MinGW\bin;"
    full path as follows
    C:\Qt\Qt5.0.2\5.0.2\mingw47_32\bin;C:\Qt\Qt5.0.2\Tools\MinGW\bin;C:\Program Files (x86)\AMD APP\bin\x86_64;C:\Program Files (x86)\AMD APP\bin\x86;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Support Tools;C:\csvn\bin;C:\csvn\Python25;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files\TortoiseSVN\bin;C:\Program Files (x86)\QuickTime\QTSystem\

    and my QTDIR is "C:\Qt\Qt5.0.2\5.0.2\mingw47_32"

    I have even tried making a new QT GUI application from the newly installed QT creator
    .pro
    @#-------------------------------------------------

    Project created by QtCreator 2013-05-01T20:27:39

    #-------------------------------------------------

    QT += core gui

    greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

    TARGET = Tools
    TEMPLATE = app

    SOURCES += main.cpp
    toolkitmainwindow.cpp

    HEADERS += toolkitmainwindow.h

    FORMS += toolkitmainwindow.ui@

    toolkitmainwindow.h
    @#ifndef TOOLKITMAINWINDOW_H
    #define TOOLKITMAINWINDOW_H

    #include <QMainWindow>

    namespace Ui {
    class ToolKitMainWindow;
    }

    class ToolKitMainWindow : public QMainWindow
    {
    Q_OBJECT

    public:
    explicit ToolKitMainWindow(QWidget *parent = 0);
    ~ToolKitMainWindow();

    private:
    Ui::ToolKitMainWindow *ui;
    };

    #endif // TOOLKITMAINWINDOW_H
    @

    toolkitmainwindow.cpp

    @#include "toolkitmainwindow.h"
    #include "ui_toolkitmainwindow.h"

    ToolKitMainWindow::ToolKitMainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::ToolKitMainWindow)
    {
    ui->setupUi(this);
    }

    ToolKitMainWindow::~ToolKitMainWindow()
    {
    delete ui;
    }@

    main.cpp

    @#include "toolkitmainwindow.h"
    #include <QApplication>

    int main(int argc, char *argv[])
    {
    QApplication a(argc, argv);
    ToolKitMainWindow w;
    w.show();

    return a.exec(&#41;;
    

    }
    @

    toolkitmainwindow.ui

    @<?xml version="1.0" encoding="UTF-8"?>
    <ui version="4.0">
    <class>ToolKitMainWindow</class>
    <widget class="QMainWindow" name="ToolKitMainWindow">
    <property name="geometry">
    <rect>
    <x>0</x>
    <y>0</y>
    <width>400</width>
    <height>300</height>
    </rect>
    </property>
    <property name="windowTitle">
    <string>ToolKitMainWindow</string>
    </property>
    <widget class="QWidget" name="centralWidget"/>
    <widget class="QMenuBar" name="menuBar">
    <property name="geometry">
    <rect>
    <x>0</x>
    <y>0</y>
    <width>400</width>
    <height>21</height>
    </rect>
    </property>
    </widget>
    <widget class="QToolBar" name="mainToolBar">
    <attribute name="toolBarArea">
    <enum>TopToolBarArea</enum>
    </attribute>
    <attribute name="toolBarBreak">
    <bool>false</bool>
    </attribute>
    </widget>
    <widget class="QStatusBar" name="statusBar"/>
    </widget>
    <layoutdefault spacing="6" margin="11"/>
    <resources/>
    <connections/>
    </ui>
    @

    Hope this is not too long to read.

    Any ideas on what I am missing?
    thanks
    Peter


  • Moderators

    it seems that you mix 32bit with 64bit libraries?!



  • Hi
    I figured it might be something to do with mixing libs but...

    How do I find out which lib is the wrong lib?

    Dependany walker shows some libs as 64 bit but I am not calling them . At least not directly.
    eg
    c:\qt\qt5.0.2\5.0.2\mingw47_32\bin\LIBWINPTHREAD-1.DLL
    is shown as 64 bit.
    but that is called by
    c:\qt\qt5.0.2\5.0.2\mingw47_32\bin\QT5CORE.DLL
    this is not shown as 64 bit
    and by
    c:\qt\qt5.0.2\5.0.2\mingw47_32\bin\LIBGCC_S_SJLJ-1.DLL
    this is also not shown as 64 bit

    How do I force the build to to link to 32bit libs only!???

    I have looked around in compiler settings and the nearest thing I can find is .....
    DEFINES -= UNICODE

    But this is not really good and... does not fix the problem

    I think I need to reinstall but do a complete manual clean out of any and all QT stuff before I reinstall but..

    The last time I uninstalled I removed
    C:\Users\Peter\AppData\Local\Nokia
    C:\Users\Peter\AppData\Roaming\Nokia
    C:\Users\Peter\AppData\Roaming\QtProject
    C:\qt

    When I tried doing a search in the registry I got a lot of
    hits for Quick Time but did not see anything that looked like it belonged to QT.

    Anything else?


  • Moderators

    DependencyWalker displays in the CPU column if it's a 32- or 64-bit lib.
    Even you do not link against them directly, it may come from Qt as a dependency or even from their dependencies.
    Which DLLs are 64bit in your dependency tree?



  • Dependancy walker shows..
    c:\qt\qt5.0.2\5.0.2\mingw47_32\bin\LIBWINPTHREAD-1.DLL
    as 64 bit the cpu is marked as AMD64
    (This should not really be relevant but I have an AMD processor)

    but LIBWINPTHREAD-1.DLL is called by
    c:\qt\qt5.0.2\5.0.2\mingw47_32\bin\QT5CORE.DLL
    This is shown as cpu x86 (and I assume 32 bit as it is not marked as 64 bit).

    I do not call LIBWINPTHREAD-1.DLL directly from my application.



  • Ok. my solution for any one who as a similar issue.

    • Uninstall QT

    • Reboot

    • remove

    @ C:\Users<name>\AppData\Roaming\QtProject@

    And these if you still have them

    @ C:\Users<name>\AppData\Local\Nokia

    C:\Users<name>\AppData\Roaming\Nokia@

    -Remove all files in
    @ C:\Windows\Prefetch@

    -Set virtual memory size to 16 mb
    (force windows to clear out junk)
    -reboot
    -reset virtual memory size to original settings
    -reboot
    (Feel like you have just a done a bit of voodoo magic)

    Make a backup of your current windows system path.
    Set windows system path to
    @C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0@

    • Delete all .pro.user files.

    • Delete all build files.

    • reboot

    • Install Qt

    • reboot

    • Rebuild QT project

    now it works (aaaagghhhhhhh!!!!!!)

    Restore you old windows system path etc.
    I will be adding my full path piece by piece and rebooting to see if anything breaks.

    B.T.W. Dependancy walker shows..
    @c:\qt\qt5.0.2\5.0.2\mingw47_32\bin\LIBWINPTHREAD-1.DLL@
    cpu as x86 (32 bit)

    So colour me confused!


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.