[英]Cant use shared libraries in Qt project
我在Qt创建者中创建了一个C ++库项目。 构建项目后,我有libMylib.so,.so.1,.so.1.0,.so.1.0.0,Makefile和mylib.o文件。 我将库头添加到我的其他项目,并添加了我的.pro文件的路径,如下所示:
LIBS += "/home/peter/Workspace/build-Libtester-Desktop-Release/libMyLib.so"
在构建应用程序时,我没有得到这样的文件错误,但在运行它时我得到了这个:
/home/peter/Workspace/build-Libtester-Desktop-Debug/Libtester: error while loading shared libraries: libMyLib.so.1: cannot open shared object file: No such file or directory
我无法理解,因为它就在它旁边的.so旁边,它似乎找到了,因为当路径错误时,我在尝试构建项目时得到一个没有这样的文件或目录错误。 有人可以解释我在这里缺少的东西吗?
谢谢你的时间。
您正在错误地添加库。 你在做:
LIBS += "/home/peter/Workspace/build-Libtester-Desktop-Release/libMyLib.so"
代替:
LIBS += -L"/home/peter/Workspace/build-Libtester-Desktop-Release" -lMyLib
第一个版本适用于Windows,但不适用于Linux。
基本上,你创建一个名为“libMyLib.so”的库,然后指定其文件夹的路径,前面加上“-L”,然后在末尾做“-lMyLib”,注意它不是“ - llibMyLib“,但只是”-lMyLib“,尽管.so名称是”libMyLib“。
请看这里: https : //wiki.qt.io/How_to_create_a_library_with_Qt_and_use_it_in_an_application了解更多信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.