我创建了一个使用 Qt Gui、Core、Network和Sql ( MySQL ) 库的应用程序。现在我想在 Linux 上部署它。这是部署目录结构:
|-chatbox(二进制文件)
|-libQtCore.so.4
|-libQtCore.so.4.8.5
|-libQtGui.so.4
|-libQtGui.so.4.8.5
|-libQtNetwork。 so.4
|-libQtNetwork.so.4.8.5
|-libQtSql.so.4
|-libQtSql.so.4.8.5
|-sqldrivers/libqsqlmysql.so
|-chatbox.sh
遵循 Qt 网站中的说明的 chatbox.sh 包含此代码:
#!/bin/sh
appname=`basename $0 | sed s,\.sh$,,`
dirname=`dirname $0`
tmp="${dirname#?}"
if [ "${dirname%$tmp}" != "/" ]; then
dirname=$PWD/$dirname
fi
LD_LIBRARY_PATH=$dirname
export LD_LIBRARY_PATH
$dirname/$appname "$@"
但是当我的老板在没有安装 Qt 的系统中运行这个脚本时,遇到了这个错误:
error while loading shared libraries libqtsql.so.4 file is too short
那么我的目录结构是真的吗?这些库和 SQL 插件是否足以运行?提到的错误是什么?