有一个问题:使用cmake将编译的可执行文件以及所有依赖库(qt)安装在某个目录中,以便以后可以将该文件夹简单地转移到另一台具有相同体系结构的计算机(和已安装的软件包,例如内置的软件包)。并在两个系统上执行:Linux和Windows。而且有两个问题:
Qt库的依赖关系是什么?如何使用cmake识别它们(如果可能)?
在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)已经打开。
答案 0 :(得分:0)
您可以使用Dependency Walker来获取dll依赖项的完整列表