在动态库

时间:2018-03-13 13:36:32

标签: qt .so .profile

我一直在使用QDesignerCustomWidgetInteface。我想在另一个CustomWidget中使用两种CustomWidget来组合其中两种,这样我就不需要再写一些代码了。

所以我在项目文件中编写如下代码:

LIBS +=-L./debug -lxzquxianplugin
LIBS +=-L./debug -lxzyctextplugin

当我完成代码时,我在创建者中调试代码并开始调试设计器。设计师跑得很好并认出了我的新CustomWidget。但是当我输入bin / gcc / debug文件夹并运行可执行应用程序Designer时,调试模式直接生成而没有代码和Qt创建者,Designer显示无法找到共享库:libxzquxianplugin.so

我尝试使用以下代码:

Debug {
    LIBS +=absolute path way of xzquxianplugin
    LIBS +=absolute path way of xzyctextplugin
}

但是当我在调试文件夹中运行Designer时,它仍然无法找到动态库。我不明白为什么会这样。

1 个答案:

答案 0 :(得分:1)

当您要将目录添加到链接器搜索路径时使用libs -L开关,您使用了:

LIBS +=-L. /debug -lxzquxianplugin

由于-L.

之后的空格,实际上会破坏您的路径

所以你应该

LIBS +=-L./debug -lxzquxianplugin

鉴于你的lib存在于debug文件夹下。