使用QT Create注意的问题(编译时依赖和运行时依赖)
2019-01-11 本文已影响0人
tsslisimin
- 在qt create的
.pro
文件下添加的 通过lib +=-L xx/xx -lxxx
添加的动态链接库,编译 运行之后,qt create 会自动把.pro
下的动态库 链接进去进行编译和运行。 - 但是,如果使用命令行模式执行qt create生成的可执行文件,系统不会在
.pro
下面找,而是会在系统默认的路径去找库文件:/lib
和usr/lib
LD_LIBRARY_PATH
或者/etc/ld.so.conf.d/
下文件内的路径去找,如果没找到的话就会提示not open的错误。 - 请注意:在源码目录下面使用
qmake
和make
编译是能通过的,使用./xxx
运行的时候就会跑错。解决的办法:把缺失的.so路径加到LD_LIBRARY_PATH
或者/etc/ld.so.conf.d/
下面文件的里面去,如果写入到/etc/ld.so.conf.d/
请记得运行sudo ldconfig
。