我用ArcGIS和Qt开发了一个应用程序。应用程序在Qt中运行成功。但是不使用QT(或program),我尝试只运行可执行文件。但它会抛出类似于共享库libesricommonqt.so的错误。没有这样的文件或目录。我已经将libesricommonqt.so粘贴到了可执行文件夹中。但仍然没有打开exe并抛出相同的错误。
在Linux上,共享库需要位于/usr/lib
或/usr/local/lib
这样的位置。或者您需要向LD配置添加一个额外的目录,如下所述:如何在Qt中链接正确共享的linux库?
还可以运行ldd
查看需要哪些共享库:https://unix.stackexchange.com/questions/120015/how-to-find-out-the-dynamic-libraries-executables-loads-when-run
您可能还会发现,如果您使用了非核心组件,并且只提供了一组最小的共享库,那么您的QT程序将会运行,但不能完全发挥作用。
或者,将您的应用程序设置为使用静态链接:https://doc.qt.io/qtfordevicecreation/qtee-static-linking.html.注意,据称很难使用cmake进行静态链接;我不确定最近这种情况是否有所改善。