https://pgmodeler.io/support/installation说:
解析依赖关系 成功编译源代码并安装二进制文件之后,我们需要将一些依赖项复制到pgModeler的安装文件夹中,然后运行一些命令,以便使二进制文件能够正确定位它们。 GNU/Linux 1: cd $QT_ROOT/lib 2: cp libQt5DBus.so.5 libQt5PrintSupport.so.5 libQt5Widgets.so.5 libQt5Network.so.5 libQt5Gui.so.5 libQt5Gui.so.5 libQt5XcbQpa.so.5 libqt5libiui18n.so.5*libiudata.so.5 $PGMODELER_ROOT/lib 3: cd $QT_ROOT/plugins 4: mkdir $PGMODELER /qtplugins 5: mkdir $PGMODELER_ROOT/qtplugins: mkdir $PGMODELER_ROOT/$PGMODELER 6_ROOT/lib/qtplugins/platforms 7: cp -r映像格式/libqgif.so imageformats/libqico.so图像格式/libqjpeg.so图像格式/libqsvg.so图像格式/libqtga.so图像格式/libqtiff.so图像格式/libqwbmp.so $PGMODELER _ROOT/lib/qtplugin/lib/qtplugins/ echo 8: cp -r printsupport/libtrusprinterSupportport.so$PGMODELER_ROOT/qtplugins/printsupport 9: cp -r /libqxcb.so$PGMODELER_ -e /-e/-e 10-e>-e>10_ROOT/qt.conf 11: cp $PGMODELER_ $PGMODELER_ROOT/start-pgmodeler.sh $PGMODELER_SOURCE/pgmodeler.vars 12: chmod +x $PGMODELER_ROOT /start-pgModeler.sh
在make和make install之后,当程序运行时,依赖关系能被动态解析(动态链接)吗?做上述工作的目的是什么?
如果我运行sudo checkinstall来创建一个deb文件,还需要像上面这样解决依赖关系吗?
谢谢!
发布于 2019-01-27 20:56:56
看起来,它是为(可能)在另一台计算机上部署/安装创建一个安装包。
我记得我在编写Qt代码时(在我自己的makefile中)实现了这个自动化(即打包了所有依赖的库/插件)。当一个Qt程序运行时,它通常以确切的结构lib/...和lib/plugins/...在同一个目录中,这样当您使用lib子文件夹运行编译后的可执行文件(比如在另一台机器上)时,它就知道库在哪里了。现在我不记得您是否还需要将LD_LIBRARY_PATH设置为./lib --我记得添加了一个lib路径作为链接器命令的一部分。
您可以从一个古老的相关问题中看到我的答案:how-to-deploy-qt-application --在这个答案中,我尝试使用像ldd这样的工具来自动化这个过程。
https://stackoverflow.com/questions/54388792
复制相似问题