Qt程序无法运行

遇到一个小问题:一个程序在Qt中已经编译通过可以运行,但是直接用命令行单独运行就会出现以下错误:

~/Qt/build-pdfviewer1-Desktop_Qt_5_8_0_GCC_64bit-Release$ ./pdfviewer1
./pdfviewer1: error while loading shared libraries: libpoppler-qt5.so.1: cannot open shared object file: No such file or directory

动态库libpoppler-qt5.so.1无法加载:(
明明在.pro文件已经加了这些啦:

INCLUDEPATH += /usr/local/include/poppler/qt5
LIBS += -L/usr/local/lib -lpoppler-qt5

poppler-qt5动态库也确实在这目录下啊,用ldd命令发现确实无法链接到这个库:

$ ldd pdfviewer1
    linux-vdso.so.1 =>  (0x00007ffd57385000)
    libpoppler-qt5.so.1 => not found

查到了这个问答,终于解决了我的问题:
https://stackoverflow.com/questions/480764/linux-error-while-loading-shared-libraries-cannot-open-shared-object-file-no-s

答者认为安装了这个包,但是没有安装这个包的-dev版,我试着用以下命令安装了-dev版确实可以运行了:

$ apt-cache search poppler-qt5
libpoppler-qt5-1 - PDF rendering library (Qt 5 based shared library)
libpoppler-qt5-dev - PDF rendering library -- development files (Qt 5 interface)
python3-poppler-qt5 - Python binding to Poppler-Qt5 C++ library (Python 3)
$ sudo apt-get install libpoppler-qt5-dev

具体原因我不清楚,查了原目录下的libpoppler-qt5发现并没有被修改过,但是再次用ldd命令发现可以找到这个文件了:)
答者还分享了这个资料,有空再看:
http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html

猜你喜欢

转载自blog.csdn.net/linda_ds/article/details/78942390
今日推荐