-
-
Notifications
You must be signed in to change notification settings - Fork 90
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Can't add some extra libraries to the application #531
Comments
hmm. |
Forgot to add information about toolkit. I use Qt 5.15.2 MinGW 32-bit. And cqtdeployer 1.5 |
You can install opengl driver in your PC. it is should be resolve you trouble. i faced similar problem, The main solution to the problem is to install the driver. As for the fact that the distribution does not have these libraries, then this is a bug of the cqtdeployer, I will double-check their availability now. If we confirm that they were not added, we will correct it. |
@kartaris yes. I am confirm this is a bug of The CQtdeployer. Trouble in the parsing pe files. I think than The CQtDeployer do not search delay-loaded libraries. @pzhlkj6612 maybe you know how to parse PE delay-loaded libraries? |
@EndrII |
No The extraLibs option allows you to copy the required system libraries with an appropriate name. Provided that they are required for your application. The error lies in the fact that the PE parser could not determine the dependencies due to the fact that they are loaded deferred with the first call of their functions and not at the start of the application. If you want to force copy this libs use the bin option or the extraData option
or
The extraDataOut option is optional because The Windows distribution kit collect libraries in to root folder. |
Great! I will use the solution as a temporary hack. |
@kartaris Thanks you for bug report. |
Well, for now I have no idea about that. |
when i'm free from other projects i will take on this task |
@EndrII Hi. Did you inspect the dependency tree of that program which needs the three dlls (EGL.dll GLESv2.dll d3dcompiler_47.dll) with lucasg/Dependencies ? Are they all delay-loaded? |
No, but |
Maybe you mean "run-time load library" instead of "delay-loaded library"? As Linker support for delay-loaded DLLs | Microsoft Docs said, delay-loading uses the technology of run-time loading, and they are not the same. |
i mean that the run-time load library is plugin |
Yes, "DUMPBIN" can do this work. |
DUMPBIN uses system function of the window, it sucks because it breaks our parsing on Linux and the planned Mac OS. We need to use the PE parser lib for this. |
@kartaris |
I have a problem to start my application on Windows because it needs libEGL, libGLESv2 and d3dcompiler libraries(the screenshot below).
I tried to add them myself. Just copied them to the application folder and application started.
The problem:
I haven't found correct way to add libraries(libEGL, libGLESv2, d3dcompiler*) as extra libraries.
I used commands like(with many variations):
cqtdeployer deploySystem extractPlugins -extraLibs EGL,GLESv2,d3dcompiler -bin $${BINPATH} -qmake $${QMAKE_EXECUTABLE} -qmlDir $${QMLPATH} -targetDir $${TARGETDIR} clear
cqtdeployer deploySystem extractPlugins -extraLibs EGL,GLESv2,d3dcompiler,libEGL,libGLESv2,d3dcompiler_47,egl,glesv2,libegl,libglesv2 -bin $${BINPATH} -qmake $${QMAKE_EXECUTABLE} -qmlDir $${QMLPATH} -targetDir $${TARGETDIR} clear
cqtdeployer deploySystem extractPlugins -libDir $${PATHTOLIBS} -extraLibs EGL,GLESv2,d3dcompiler,libEGL,libGLESv2,d3dcompiler_47,egl,glesv2,libegl,libglesv2 -bin $${BINPATH} -qmake $${QMAKE_EXECUTABLE} -qmlDir $${QMLPATH} -targetDir $${TARGETDIR} clear
Non of them helped. Also I tried adding path to to the libraries by setting PATH variable(just for the cqtdeployer's command session) and it doesn't work too.
I don't know if there is a bug but it looks like a bug.
PS: HanoiTowers application can't start on my PC because of the same problem.
The text was updated successfully, but these errors were encountered: