QFileDialog problem: Entry Point Not Found
-
Hi,
I get a very strange error message and I do not know what the problem is.
Maybe you could help me with that ;-)My Software runs fine on several Windows 7 Enterprise Computers but on one Windows 7 Professional Computer I get the following error:
Software.exe - Entry Point Not Found The procedure entry point ?absoluteDir@QFileInfo@@QEBA?AVQDir@@XZ could not be located in the dynamic link library Qt5Core.dll
This line of code seems to lead to the error message:
QString filename = QFileDialog::getOpenFileName(this, tr("Open File"), "C://", "Text File (*.txt);;CSV (*.csv);;");
Why is that and how can I solve this?
Thank you very much :-)
-
Hi
That sounds odd.
The Qt5Core.dll is the exact same file on all the pcs? -
@RolBri
Ok.
I would use something like
http://www.dependencywalker.com/
and make 100% sure its not loading a DLL i dont expect.
(on the pc that says "Entry Point Not Found")It must somehow get wrong version of DLL.
-
Thank you very much.
I used the tool you named on both windows versions.
It always says for the "Qt5Core.dll" that the link checksum (0x0050195F) differs from the real checksum(0x005007C4).
This is the only dll were this happens. The version of e.g. Qt5Gui.dll is the same as the version of Qt5Core.dll.
I do not have any other Qt5Core.dll with a correct checksum.The tool also says that it cannot fine some other DLLs like API-MS-WIN-CORE_WINRT-L1-1-0.DLL but this is the same for all computers and only on computer it gives the error.
So I still have no clue :-(
-
It always says for the "Qt5Core.dll" that the link checksum (0x0050195F) differs from the real checksum(0x005007C4).
This means that the file you linked to when you built your app and the one that is linked when it runs are different.
Run dependency walker in profile mode to see exact paths the dlls are loaded from.
If you're sure you haven't mixed dlls from different Qt builds then the file might simply be corrupted. It could be damaged in transfer or something is messing with it on the target machine. -
It is really strange.
I now checked the absolut paths and the correct dll is loaded from the correct path.It is just that the checksum is always wrong on all machines.
So it seems that my Qt5Core.dll is corrupted.I tried other software too.
On the Win7 Enterprise machines everything works fine, but on the one Win 7 Professional machine I always get the error.Is there a way to rebuild Qt5Core.dll on Windows?
Or what else can I try?Thanks :-)
-
@RolBri said:
I now checked the absolut paths and the correct dll is loaded from the correct path.
It is just that the checksum is always wrong on all machines.
- What happens if you delete Qt5Core.dll from your Windows 7 Pro machine? Do you get the same error message, or a different one?
- What compiler did you use?
- What happens if you copy Qt5Core.dll from your Win 7 Enterprise machine to your Windows 7 Pro machine?
-
If I delete the Qt5Core.dll the software does not even start and I immediately get the message that the DLL is missing.
I used Qt 5.5.0 x64 with MinGw 5.1.0.
I always used the DLLs delivered with my Qt distribution.
Another software also using Qt5Core.dll works fine on the Win 7 Pro machine.
The difference is really that this software does not use a QFileDialog which somehow leads to the error :-(Edit:
I checked it again.
The following line leads to the error message:filename = QFileDialog::getOpenFileName(this, tr("Open File"), "C://", "Text File (*.txt);;CSV (*.csv);;");
If I comment this line and set a static filename instead the software works fine :-/
-
I solved the problem!
It was not caused by Qt.
The reason was a Dell specific software.
I just had to delete the "Backup and Restore" software from the computer and immediately the Qt software worked fine :-)For more information see here:
https://bugreports.qt.io/browse/QTBUG-41416
http://en.community.dell.com/support-forums/software-os/f/3526/t/19634253Thank you all very much for the help :-)
-
That was really sneaky :)
Thank you for reporting back.