[qt5-base] Fix hardcoded absolute paths in DLLs#3280
[qt5-base] Fix hardcoded absolute paths in DLLs#3280ras0219-msft merged 2 commits intomicrosoft:masterfrom
Conversation
|
Ping for the present issue. |
|
Apologise for this new ping, my colleagues and I are just wondering whether this PR will be ever merged or not, just to take proper actions internally since issue #3248 is relevant for us. |
|
Isn't CURRENT_PACKAGES_DIR the directory where cmake gets the data from when I use Would that still work? |
|
Hi @MikeGitb, CMake looks for libraries in This is the main problem when using Qt libraries as they have hardcoded paths into the DLL that are set to |
|
This PR has been ignored for over 4 months now, and I would just like to understand the point of view of the maintainers about consuming Qt in a project outside the vcpkg build tree. |
|
Thanks for the PR and sorry for such a long merge delay! |
|
There's no |
Hi @huangqinjin, thanks for pointing out this issue. |
Given that the paths presented at configure time are coded straight into Qt5Core.dll, I think you have only two options for a truly relocatable application binary:
I kind of prefer the first option, but both are valid depending on the use-case. |
* fix da qt5 * fix qt config duplication * [qt5-base] Use vcpkg_extract_source_archive_ex [sqlite3] Enable SQLITE_ENABLE_COLUMN_METADATA * [qt5-*] Update sub-portfiles * qt5-base WIP * [qt5] Fix Could not find qmlcachegen.exe * [qt5-activeqt] Fix SHA512 * [qt5-base] Fix static builds * [qt5-base] Bump control version * [qt5-base] Restore removal of qmake dependencies * [qt5-base] Partially revert #3280 * [qt5-base][vcpkg_build_qmake] Fix Qt5Bootstrap.lib issues
|
Thanks @tronical, we actually use the second solution here 😄 The change that I proposed in this PR was to address a problem located only in |
This PR changes the configuration parameters for the
qt5-baseport in order to fix #3248.In order for the DLL to have the proper hardcoded absolute paths in the DLL, the deployment path, i.e.
CURRENT_INSTALLED_DIR, must be passed at configure time instead of the intermediate vcpkg installation path, i.e.CURRENT_PACKAGES_DIR.A thoroughful discussion can be found, and is still in progress, in #3248.
Fixes #3248