首页 > 解决方案 > 如何在可执行文件附近安装 qt 库

问题描述

有这样一个问题:使用 cmake 将编译后的可执行文件以及所有依赖库(qt)安装在某个目录中,以便稍后可以将该文件夹简单地转移到具有相同架构的另一台计算机(以及安装的包,像内置必需品)。并在两个系统上执行此操作:linux 和 windows。而且有两个问题:

  1. Qt 库的依赖关系是什么以及如何用 cmake 识别它们(如果可能的话)?

  2. 在 Linux 上使用install(FILES $<TARGET_FILE:Qt5::some_packet> DESTINATION bin)时,会复制以下库:libQt5some_packet.so.5.11.1当你尝试启动程序时,它会立即声明找不到相应的库。该命令export LD_LIBRARY_PATH=/install path/bin没有任何结果。

UDP 我发现如何解决问题 2:

install(FILE $<TARGET_SONAME_FILE:Qt::some_package> DESTINATION bin)

但第一个问题(对于 Windows)是开放的。

标签: qtcmakeqt5

解决方案


您可以使用 Dependency Walker 获取 dll 依赖项的完整列表


推荐阅读